程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> NVelocity系列:Getting Start With NVelocity

NVelocity系列:Getting Start With NVelocity

編輯:關於ASP.NET

NVelocity是java velocity的c#實現,目前我在CodePlex維護著與velocity同 步的版本。NVelocity也在項目中使用著,在社區也有國外開發者的一些反饋。

下面是一個在Asp.Net如何使用NVelocity的非常簡單例子:

定義HttpHandler:

1namespace NVelocity.TestWebsite
2{
3 using System;
4 using System.Collections.Generic;
5 using System.IO;
6 using System.Web;
7
8 using Commons.Collections;
9
10 using NVelocity.App;
11 using NVelocity.Context;
12 using NVelocity.Runtime;
13
14 /**//// <summary>
15 ///
16 /// </summary>
17 public class NVelocityHandler : IHttpHandler
18 {
19 IHttpHandler Members#region IHttpHandler Members
20
21 public bool IsReusable
22 {
23 get { return false; }
24 }
25
26 public void ProcessRequest (HttpContext context)
27 {
28 VelocityEngine velocity = new VelocityEngine();
29
30 ExtendedProperties props = new ExtendedProperties();
31
32 //定義模板路徑
33 props.SetProperty (RuntimeConstants.FILE_RESOURCE_LOADER_PATH, Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "Views"));
34
35 //初始化
36 velocity.Init(props);
37
38 List<City> list = new List<City>();
39
40 list.Add(new City() { Name = "sh", Id = 21 });
41 list.Add(new City() { Name = "bj", Id = 22 });
42 list.Add(new City() { Name = "tj", Id = 23 });
43
44
45 IContext c = new VelocityContext();
46
47 //添加到上 下文中
48 c.Put("cities", list);
49
50 //根據請求輸出
51 velocity.MergeTemplate (context.Request.QueryString["vm"] + ".vm", "UTF-8", c, context.Response.Output);
52 }
53
54 #endregion
55 }
56
57 /**//// <summary>
58 /// 城市
59 /// </summary>
60 public class City
61 {
62 /**//// <summary>
63 /// ID
64 /// </summary>
65 public int Id { get; set; }
66
67 /**//// <summary>
68 /// 名稱
69 /// </summary>
70 public string Name { get; set; }
71 }
72}
73

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved