zoukankan      html  css  js  c++  java
  • NVelocity 类操作模板

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    using System.Web;
    using System.IO;
    using NVelocity.App;
    using NVelocity;
    using NVelocity.Runtime;

    namespace Common
    {
    public class NVelocityHelper
    {
    private VelocityEngine velocityEngine = null;
    private VelocityContext vc = null;
    public NVelocityHelper(string templatePath, string key, object value)
    {

    //1.创建Velocity 引擎(VelocityEngine)并设置属性
    velocityEngine = new VelocityEngine();
    velocityEngine.AddProperty(RuntimeConstants.RESOURCE_LOADER, "file"); // Velocity加载类型
    velocityEngine.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, // Velocity加载文件路径
    HttpContext.Current.Server.MapPath("~/" + templatePath + "/"));
    velocityEngine.AddProperty(RuntimeConstants.INPUT_ENCODING, "utf-8"); // 输入编码格式设置
    velocityEngine.AddProperty(RuntimeConstants.OUTPUT_ENCODING, "utf-8"); // 输出编码格式设置
    velocityEngine.Init();
    //2.Velocity 上下文对象设置
    vc = new VelocityContext();
    vc.Put(key, value);
    }

    public NVelocityHelper(string key, object value)
    {
    //1.创建Velocity 引擎(VelocityEngine)并设置属性
    velocityEngine = new VelocityEngine();
    velocityEngine.AddProperty(RuntimeConstants.RESOURCE_LOADER, "file"); // Velocity加载类型
    velocityEngine.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, // Velocity加载文件路径
    HttpContext.Current.Server.MapPath("~/Templates/"));
    velocityEngine.AddProperty(RuntimeConstants.INPUT_ENCODING, "utf-8"); // 输入编码格式设置
    velocityEngine.AddProperty(RuntimeConstants.OUTPUT_ENCODING, "utf-8"); // 输出编码格式设置
    velocityEngine.Init();
    //2.Velocity 上下文对象设置
    vc = new VelocityContext();
    vc.Put(key, value);
    }


    public void Render(string templatFileName)
    {
    //3.创建模板
    Template template = velocityEngine.GetTemplate(templatFileName);

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

    }
    }

  • 相关阅读:
    数组作为函数参数传递时
    Tree 笨方法实现
    双向链表
    带头节点的循环链表及两个循环链表的合并
    josephus问题->不带头节点的循环链表
    数组形式链表
    检测qq是否在线
    Python-requests模块
    Python面向对象练习——基于面向对象设计一个对战游戏
    Python-面向对象
  • 原文地址:https://www.cnblogs.com/lierjie/p/3748045.html
Copyright © 2011-2022 走看看