使用VELOCITY生成文件

来源:互联网 发布:软件设计方案 评价 编辑:程序博客网 时间:2024/05/21 11:16

        VelocityEngine velocity = new VelocityEngine();
        Properties properties = new Properties();
         //设置属性

    。。。。

        velocity.init(properties);    

 

        // ファイルWriter
        Writer writer = null;
        try {
            String charSet = "UTF-8";
            Template template = velocity .getTemplate(”PACKAGE+文件名”);

            Context context = new VelocityContext();
            context.put("DAT", "");
            writer=new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream("PACKAGE+新文件名"),charSet)));

            template.merge(context, writer);
            writer.flush();
            writer.close();
        } catch (Exception e) {

        }

 

 

参照:

 

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


  b) VelocityContext 高低文对象创建于设置.


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


  d) 归并模板和高低文对象、输出.


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

using System;
using System.Web;

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

publicclass ShowHTML : IHttpHandler
{
publicvoid 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>();
forint 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();
}

原创粉丝点击