NVelocity引擎输出HTML流***(一般处理程序中)
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹
vltEngine.Init();
VelocityContext vltContext = new VelocityContext();
vltContext.Put("ps", dic);//设置参数,在模板中可以通过$data来引用
vltContext.Put("arry",arr);
vltContext.Put("personarry",person);
Template vltTemplate = vltEngine.GetTemplate("test3.htm");
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter);
string html = vltWriter.GetStringBuilder().ToString();
context.Response.Write(html)
NVelocity引擎中的一些使用方法:
以$P为对象属性有Name,属性写法是$P.Name
若调用NVelocity中的方法,写法为#XXXX
**************************
1:在该引擎中的遍历:遍历的对象可以是数组、List、Dictionary
这里用<ul></ul>:
<ul>
#foreach($a in $arry)
<li>$a</li>
#end
</ul>
**************************
2:条件判断:
<p>
#if($age>10)
年龄大于10;
#else
年龄小于10;
#end
</p>
**************************
3:#include("xxx.htm")与#parse("xxx.htm")的区别
#include("xxx.htm")不会解析NVelocity中的元素
#parse("xxx.htm")会解析NVelocity中的元素