Fork me on GitHub

NVelocity标签使用详解

本文使用的NVelocity版本为1.1.1,应该是目前为止最新的版本吧,前几天在google上找了一个自称是NVelocity 1.6.1 bate2的dll,下载下来一看更新时间是2009年的,还没版本NVelocity 1.1.1(2010年出的) 新呢!

本文目录:
  一、资源、文档下载。
  
  二、使用步骤
  
  三、代码演示。

一、资源、文档下载:

  官方下载地址与参考文档

  其他下载地址(版本比较低不建议下载)

  本文NVelocity 1.1.1 dll与示例下载

  NVelocity 使用文档下载

二、使用步骤。

  a) 创建Velocity 引擎(VelocityEngine)并设置属性.

  b) VelocityContext 上下文对象创建于设置.

  c) 使用VelocityEngine(Velocity 引擎)创建模板(Template).

  d) 合并模板和上下文对象、输出.

三、代码演示。

  先引入NVelocity.dll,然后添加代码。

1.一般处理类ShowHTML.ashx代码如下:

<%@ WebHandler Language="C#" Class="ShowHTML" %>

using System;
using System.Web;

// NVelocity 引用
using NVelocity;
using NVelocity.App;
using NVelocity.Runtime;

public class ShowHTML : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// 1.创建Velocity 引擎(VelocityEngine)并设置属性
VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.AddProperty(RuntimeConstants.RESOURCE_LOADER,
"file"); // Velocity加载类型
velocityEngine.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, // Velocity加载文件路径
context.Server.MapPath("~/Template/"));
velocityEngine.AddProperty(RuntimeConstants.INPUT_ENCODING,
"gb2312"); // 输入编码格式设置
velocityEngine.AddProperty(RuntimeConstants.OUTPUT_ENCODING, "gb2312"); // 输出编码格式设置
velocityEngine.Init();

// 2.Velocity 上下文对象设置
VelocityContext vc = new VelocityContext();
// 页面参数设值
vc.Put("Name", "MT!");
System.Collections.Generic.List
<String> list = new System.Collections.Generic.List<string>();
for (int i = 1; i < 11; i++)
{
list.Add(
"My Name Is :" + i);
}
vc.Put(
"list", list);

// 3.创建模板(Template)
Template template = velocityEngine.GetTemplate("default.html");

// 4.合并模板和上下文对象、输出
template.Merge(vc, HttpContext.Current.Response.Output);
HttpContext.Current.Response.End();
}

public bool IsReusable
{
get
{
return false;
}
}
}

2.default.html模板代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NVelocity 使用测试模板</title>
</head>
<body>
俺叫$Name
<br />
#foreach($item in $list)
$item
<br />
#end
</body>
</html>

3.效果如下:

本文NVelocity 1.1.1 dll与示例下载



【Stone 制作整理,引用请写明出处谢谢合作,联系QQ:1370569】

posted @ 2011-09-09 11:43 王磊的博客 阅读(...) 评论(...) 编辑 收藏