首页 > 代码库 > NVelocity 实例

NVelocity 实例

using System;using System.IO;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using NVelocity;using NVelocity.App;using NVelocity.Context;using NVelocity.Runtime;using NVelocity.Tool;using NVelocity.Util;using Commons;using Commons.Collections;//http://www.cnblogs.com/McJeremy/archive/2008/06/25/1229848.htmlnamespace WebApplication1{    public partial class _Default : Page    {        protected void Page_Load(object sender, EventArgs e)        {         VelocityEngine velocity = new VelocityEngine(); //也可以使用带参构造函数直接实例。        ExtendedProperties props = new ExtendedProperties();        props.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, Server.MapPath("Tmp"));        props.AddProperty(RuntimeConstants.INPUT_ENCODING, "gb2312");        props.AddProperty(RuntimeConstants.OUTPUT_ENCODING, "gb2312");        velocity.Init(props);               Template template = velocity.GetTemplate(@"/demo.tmp");                 VelocityContext context = new VelocityContext();        context.Put("from", "Beijin");        context.Put("to", "Xiamen");        Model m = new Model() { Name = "QiangZhe", Age = 23, Body = new Body() { Weight = 60, Height = 163 } };        context.Put("Model", m);        StringWriter writer = new StringWriter();        template.Merge(context, writer);        Response.Write(writer.ToString());               }    }    public class Model    {        public string Name { get; set; }        public int Age { get; set; }        public Body Body{get;set;}    }    public class Body    {        public int Height { get; set; }        public int Weight { get; set; }    }}
Demo.tmp
#include( "header.txt" )<br/>Count down.#set( $count = 8 )#parse( "child.tmp" )All done with child.tmp!<br/> #foreach( $foo in [13..-6] )     #if( $foo < 10 )        <strong>Go North</strong>    #elseif( $foo == 10 )        <strong>Go East</strong>    #elseif( $bar == 6 )        <strong>Go South</strong>    #else        <strong>Go West</strong>    #end   #end<br/>$Model.Name$Model.Age$Model.Body.Height#set($List = ["man","woman","middle","none"])   <p> ForEach </p>#foreach($Item in $List)         #odd     <p>$velocityCount odd $Item</p>     #even      <p>$velocityCount even $Item</p>#end #macro( tablerows $color $somelist )    #foreach( $something in $somelist )        <tr><td bgcolor=$color>$something</td></tr>    #end#end#set( $parts = ["volva","stipe","annulus","gills","pileus"] )#set( $cellbgcol = "#CC00FF" )<table>   #tablerows( $cellbgcol $parts )</table>$from<br/> #set( $size = "Big" ) #set( $name = "Ben" )#set($clock = "${size}Tall$name" )$clockStop#stop$to