zoukankan      html  css  js  c++  java
  • 解决NVelocity加载模板时出现Unable to find resource"xxx"错误

    NVelocity现在属于Castle项目,相关介绍:http://www.castleproject.org/others/nvelocity/index.html

    使用方法:http://www.castleproject.org/others/nvelocity/usingit.html

    发现很多人在按上面的方法使用时会出现Unable to find resource"xxx"错误

    解决办法:

    在engine.Init(props);之前使用

    props.AddProperty("file.resource.loader.path", Server.MapPath("."));

    第2个参数Server.MapPath(".")指当前模板文件所在的目录,如果你的模板文件完整路径是:c:\xx\xx.vm

    则应该把Server.MapPath(".")替换成c:\xx

    例子代码:

    myfirsttemplate.vm和NVelocityDemo.aspx在同一个目录下

    1.myfirsttemplate.vm文件:

    From: $from
    To: $to
    Subject: $subject

    Hello, $customer

    2.NVelocityDemo.aspx.cs代码:

    using Commons.Collections;
    using NVelocity;
    using NVelocity.App;
    using NVelocity.Context;
    using System.IO;
    using System.Text;
    namespace webTest
    {
        public partial class NVelocityDemo : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                VelocityEngine engine = new VelocityEngine();
                ExtendedProperties props = new ExtendedProperties();
                //Server.MapPath(".")
                props.AddProperty("file.resource.loader.path", Server.MapPath("."));

                engine.Init(props);

                Template template = engine.GetTemplate("myfirsttemplate.vm");

                VelocityContext context = new VelocityContext();
                context.Put("from", "somewhere");
                context.Put("to", "someone");
                context.Put("subject", "Welcome to NVelocity");
                context.Put("customer", "jon zhao");

                StringWriter writer = new StringWriter();
                template.Merge(context, writer);
                Response.Write(writer.GetStringBuilder().ToString());

    }

    }

    }

               

  • 相关阅读:
    Android(java)学习笔记78:Java类初始化顺序
    Android(java)学习笔记77:Android中assets文件夹资源的访问
    Android(java)学习笔记76:Handler用法总结 和 秒表案例
    Android(java)学习笔记75:ListViewProject案例(ListView + BaseAdapter + CheckBox)
    Android(java)学习笔记74:ListViewProject案例(ListView + ArrayAdapter)
    POJ 2516 Minimum Cost
    POJ 2195 Going Home
    POJ 1087 A Plug for UNIX
    POJ 3281 Dining
    ZUFE OJ 2289 God Wang II
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1453172.html
Copyright © 2011-2022 走看看