NVelocity的使用
来源:互联网 发布:人工智能读心术 小冰 编辑:程序博客网 时间:2024/05/23 12:15
{
VelocityEngine vltEngine = new VelocityEngine();//创建模板引擎.
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, HttpContext.Current.Server.MapPath("/Admin/")); //这里是模板的路径
vltEngine.Init();
VelocityContext vltContext = new VelocityContext();//设置模板文件中的内容
vltContext.Put("title", model.Title); //替换模板中的内容
vltContext.Put("body", model.ContentDescription);
vltContext.Put.("bookId", model.Id.ToString());
Template vltTemplate = vltEngine.GetTemplate("StaticPage_BookInfoTemplate.htm");//模板引擎加载模板
using (System.IO.StringWriter vltWriter = new System.IO.StringWriter())
{
vltTemplate.Merge(vltContext, vltWriter);
string dir = "/StaticPage/" + model.PublishDate.Year + "/" + model.PublishDate.Month + "/" + model.PublishDate.Day + "/";
Directory.CreateDirectory(Path.GetDirectoryName(HttpContext.Current.Server.MapPath(dir)));//动态生成文件夹
File.WriteAllText(HttpContext.Current.Server.MapPath(dir + model.Id + ".html"), vltWriter.GetStringBuilder().ToString(), System.Text.Encoding.UTF8); //保存到相应的文件夹下
}
}
下面是模板内容,特别需要注意的是,如果模板中有jQuery,使用"$."这样的语句一定要换成 "jQuery.", 因为模板引擎替换会将"$."换成“.” ,美元符号消失
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$title</title>
<script src="/js/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
function loadComment() {
jQuery.ajax({
url: "/ashx/bookComment.ashx",
type: "post",
dataType: "json",
data: { "action": "load", "bookId": $bookId },
success: function (data) {
var comUl = jQuery("#comUl");
if (data) {
comUl.empty();
for (var i = 0; i < data.length; i++) {
var li = $("<li>" + data[i].createDateTime + ':' + data[i].Msg + "</li>");
li.appendTo(comUl);
}
}
},
error: function () {
alert("服务器内部错误");
}
});
}
function submitComment() {
var content = jQuery.trim($("#content").val());
if (content.length > 0) {
jQuery.ajax({
url: "/ashx/bookComment.ashx",
type: "post",
data: { "action": "add", "bookId": $bookId, "msg": content },
success: function (rel) {
if (rel == 1) {
loadComment();
} else {
alert("评论失败!");
}
},
error: function () {
alert("服务器内部错误");
}
});
} else {
alert("请输入评论内容!");
}
};
$(function () {
loadComment();
jQuery("#submit").click(submitComment);
});
</script>
</head>
<body>
$body
<hr />
<ul id="comUl">
</ul>
<div>
<textarea id="content" rows="20" cols="40"></textarea>
<input type="button" id="submit" value="发表评论" />
</div>
</body>
</html>
- NVelocity的使用
- 使用 NVelocity 解析 PowerDesigner 的cdm文件
- NVelocity标签使用详解
- NVelocity标签使用详解
- NVelocity标签使用详解
- NVelocity其它使用注意
- NVelocity基本使用
- asp.net模板引擎:C#中Nvelocity的简单使用
- NVelocity的简单用法
- NVelocity
- NVelocity
- NVelocity
- Nvelocity
- 登录使用NVelocity模版实现
- nvelocity的单例用法
- NVelocity模板引擎的学习
- 基于NVeloCity的静态页面生成示例(NVeloCity+LinQ)
- 使用NVelocity实现服务器端页面自动生成
- 【tcl脚本】改变输出字符格式
- windows 下使用 MinGW + msys 编译 ffmpeg
- 在Ubuntu Linux上安装Apache Hadoop
- 如果让我重做一次研究生--王泛森院士
- Oracl_day1(连接查询)
- NVelocity的使用
- socket编程
- 张小龙:APP产品经理必须要懂的30条原则
- java实现堆栈、哈希表、链表
- C# 基础概念之延迟加载 Lazy<T>
- 玩一玩接口
- css注释和html注释用法及应用范围介绍
- python 字符串处理
- Java修饰符总结