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();
}

}
}

时间: 2024-08-19 02:49:45

NVelocity 类操作模板的相关文章

实验11:Problem D: 分数类的模板数组类

在默认构造函数里面,分母的默认值不能为0!! Home Web Board ProblemSet Standing Status Statistics Problem D: 分数类的模板数组类 Problem D: 分数类的模板数组类 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 509  Solved: 350[Submit][Status][Web Board] Description 封装一个模板数组类Array,支持一下操作: 1. 构造函

Problem S: 分数类的模板数组类

Problem S: 分数类的模板数组类 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 2155  Solved: 1624[Submit][Status][Web Board] Description 封装一个模板数组类Array,支持一下操作: 1. 构造函数Array(int n),将数组初始化为n个存储空间: 2. 函数input(int n),读取最多n个元素,但不能超过数组存储空间的上限: 3. 重载下标运算符,返回数组的元素. 封装一

C#基础------File类操作文件

//File类操作文件 不需要new //1.Exists(判断文件是否存在) //2.ReadAllLines(把文件每一行读取出来,放到一个字符串数组中) //3.ReadAllText(把文件中的内容读取到一个字符串里) //4.WriteAllText(把字符串写入到文件里,覆盖以前的内容) //5.AppendAllText(把字符串追加到文件里,内容会追加在后面) //6.Copy(把目标文件拷贝到另一个文件) //Directory 操作文件夹 //1.CreateDirector

模板类继承模板类

今天写的代码提交到OJ上就出现这样的错误,但是vs并不会出错. '_elem' was not declared in this scope 原因在于模板类继承模板类,子类看不见父类的成员. 但是VC++做了一些小拓展,可以不适用this->就调用父类成员. gcc在扫描到模板类时就要求确定每一个成员在哪里声明的,VC++在类实例化之后再检测,就不会有这个问题. 可以使用以下方式解决: 方法1: 使用this template<typename T> class A { protecte

在子页面中操作模板页的内容

Button btn=(Button)this.Master.FindControl("Button1"); btn.Visible=false; 模板页中要注意html控件的url问题 ResolveClientUrl:获得相对路径 ResolveUrl:相对于跟目录的路径 在子页面中操作模板页的内容,布布扣,bubuko.com

【内存类操作】浅谈内存拷贝异常

结合本人在实际项目中所积累的经验,以及曾经犯过的错误,堆内存操作类函数做一个简单的剖析,抛砖引玉,欢迎大家吐槽. 首先,讲一下内存使用异常发生的几种场景. 1.野指针的使用,使用已经释放的指针,如果向野指针中写内容,就极有可能导致设备重启或任务挂死.因为,正在运行的任务的地址被意外的改写. [避免策略]函数入参要判空,指针使用(包括释放)之前一定要释放. 2.内存函数的错误使用: void *memset(void *s, int ch, size_t n); c语言中在<memory.h>或

模板类和模板函数的声明和定义分开文件写的方法

据说模板类和模板函数的声明和定义要写在同一个文件. 不然编译会出现"未定义的引用". 其实是有解决方法的. 模板类 template class CNNConvLayer<double>; 就是 template class className<typeName>; 模板函数 template void poolBackPropForKernal<double>(double*, double*, int, int, double*, double*

jQuery - 02. 样式表属性操作/类操作、动画、显示隐藏、滑入、淡入、停止动画、节点操作、添加对象、清空节点

样式表属性操作.css $("div").css({'width':100,'height':100,'background':'red'}); $("div").css("background","pink"); 类操作 .addClass添加类   $("div").addClass("class"); .removeClass删除类   $("div).removeCla

Java基础---使用Arrays类操作Java中的数组(三十二)

使用 Arrays 类操作 Java 中的数组 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等(关于类和方法的相关内容在后面的章节中会详细讲解滴~~). Arrays 中常用的方法: 1. 排序 语法:  可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列),如: 运行结果: 2. 将数组转换为字符串 语法: