人无信不立/2008-04-26 22:30
永春阁
专注于技术,切不可沉湎于技术
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 225 文章- 20 评论- 1258
使用NVelocity[翻译]
原文参见:
http://www.castleproject.org/others/nvelocity/usingit.html
有的地方并不是全文对照翻译,只是意译
这是一个非常基本的NVelocity的使用说明。NVelocity可以把模板和数据动态合并 (
不光是MonoRail的web页面可以使用,其他诸如发送邮件等也可以使用
)
为了演示简单,下面的例子我们使用一个邮件的模板
第一步:生成VelocityEngine
开始必须有一个engine的实例。初始化实例的时候可以包含一些属性来指定NVelocity的编码、cache等
using
Commons.Collections;
using
NVelocity;
using
NVelocity.App;
using
NVelocity.Context;
VelocityEngine velocity
=
new
VelocityEngine();
ExtendedProperties props
=
new
ExtendedProperties();
velocity.Init(props);
第二步:生成模板
假设我们生成一个邮件模板,如下所示:
From: $from
To: $to
Subject: $subject
Hello $customer.Name
We're please to yada yada yada.
用文件的绝对路径(
相对路径也是可以的
)使用下面一行c#代码:
Template template
=
velocity.GetTemplate(
@"
path/to/myfirsttemplate.vm
"
);
第三步:合并模板
主要是将数据和模板合并生成最后的内容。可以在模板中使用context
VelocityContext context
=
new
VelocityContext();
context.Put(
"
from
"
,
"
somewhere
"
);
context.Put(
"
to
"
,
"
someone
"
);
context.Put(
"
subject
"
,
"
Welcome to NVelocity
"
);
context.Put(
"
customer
"
,
new
Customer(
"
John Doe
"
) );
最后使用writer,比如StringWriter输出内容,代码如下所示:
StringWriter writer
=
new
StringWriter();
template.Merge(context, writer);
Console.WriteLine(writer.GetStringBuilder().ToString());
使用以上代码之后就可以在控制台中看到合并后的结果
posted @ 2007-11-01 16:34
永春
阅读(533)
评论(2)
编辑
收藏
所属分类:
MonoRail
发表评论
回复
引用
查看
#1楼
2007-11-02 00:03 |
戏水
可否多写一些应用实例呢? 谢谢啦
回复
引用
查看
#2楼
[
楼主
]
2007-11-02 08:55 |
GSpring
@戏水
我准备把MonoRail的学习笔记写完之后,写一个MonoRail方面综合一点的例子
有些MonoRail的功能我现在还不能完全运用 -_-
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
博客园首页
新闻频道
社区
小组
博问
网摘
闪存
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-11-01 17:13 编辑过
成果网帮您增加网站收入
相关文章:
使用Visual Studio2005入门.Net2.0系列视频教程
【翻译】Scott Mitchell的ASP.NET2.0数据指南中文版索引
在线英文单词翻译
(翻译)怎么在ASP.NET 2.0中使用Membership
ASP.NET AJAX入门系列(2):使用ScriptManager控件
在Excel中使用VBA来筛选数据
相关链接:
历史上的今天:
2006-11-01
ajax中ValidatorCalloutExtender控件使用出现问题
所属分类的其他文章:
MonoRail学习笔记二十:资源文件的使用和多语言支持
MonoRail学习笔记十九:可重复使用组件ViewComponents的使用
MonoRail学习笔记十八:在VM中可以使用哪些系统变量
MonoRail学习笔记十七:TransformFilter的使用
MonoRail学习笔记十六:AJax在MonoRail中的使用
MonoRail学习笔记十五:文件上传
MonoRail学习笔记十四:分页功能的使用
MonoRail学习笔记十三:NVelocity的增强功能
使用NVelocity[翻译]
Velocity 《VTL语法参考指南》中文版[转]
最新IT新闻:
JavaScript将成Silverlight的最大对手?
没有谷歌就活不下去的四个网站
Google 10周岁生日
祝Google 10周岁生日快乐
Google十年市值达1500亿美元 创造奇迹
公告
本Blog版权均为本人所有,欢迎任何媒体和网站转载本人博客的内容。
本Blog的内容按原样提供,本人不提供任何形式的担保。
转载请注明出处
我的MVP配置
自2007年3月8日:
系列文章
1、
Sharepoint2007对象模型系列
2、
C#强化系列文章
3、
MOSS SDK学习系列
4、
IBatis.Net学习笔记系列
5、
MonoRail学习笔记系列
我的最新闪存
君子终日乾乾,夕惕若。厉无咎
8-26 18:23
<
2007年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
写书译书小组
Debug 探索团队小组
iBATIS.NET
MonoRail
博客园精华集出版小组
我参与的团队
SharePoint团队(0/733)
Ajax&Atlas技术团队(0/1149)
南京.net俱乐部(0/449)
ASP.NET AJAX (Atlas)学习(0/1347)
MVP(微软最有价值专家)团队(0/568)
Debug 探索团队(0/51)
博客园精华集出版(0/43)
随笔分类
.Net(49)
(rss)
AJax(3)
(rss)
C++/VC学习(2)
(rss)
iBATIS.NET(15)
(rss)
Java(6)
(rss)
MonoRail(25)
(rss)
OS Shell(5)
(rss)
SharePoint(42)
(rss)
Windows Server(1)
(rss)
XHTML/CSS/Script(6)
(rss)
企业开发(2)
(rss)
数据库(20)
(rss)
外语(1)
(rss)
项目管理(7)
(rss)
娱乐/杂记/修养(49)
(rss)
随笔档案
2008年8月 (3)
2008年7月 (7)
2008年6月 (1)
2008年5月 (2)
2008年4月 (12)
2008年3月 (14)
2008年2月 (3)
2008年1月 (14)
2007年12月 (17)
2007年11月 (21)
2007年10月 (31)
2007年9月 (13)
2007年8月 (25)
2007年7月 (10)
2007年6月 (1)
2007年5月 (2)
2007年4月 (10)
2007年3月 (15)
2007年2月 (7)
2007年1月 (1)
2006年12月 (3)
2006年11月 (21)
2006年10月 (5)
2006年8月 (2)
SharePoint学习
Codeplex Sharepoint
jianyi @ cnblogs
Kaneboy's Blog
Patrick Tisseghem's Blog
管理相关
下载_中计在线
中国管理之家
开源社区
C#开源资源大全
Java开源大全
SourceForge主页
门户网站
南京程序员俱乐部
积分与排名
积分 - 288907
排名 - 101
最新评论
1. re: 为什么要CMMI?
请教,什么是胶冻型团队? (自由人)
2. re: C#强化系列文章六:应用程序域(AppDomain)浅析
还是有一点不懂!mark!!以后再看! (谢小妹)
3. re: 为什么要使用MonoRail?
@拼命三郎
不客气-_- (永春)
4. re: 为什么要使用MonoRail?
我个人还是比较怀念webform,对mvc没有什么学习,毕竟微软的技术层出不穷,有些跟不上了。 (拼命三郎)
5. re: 项目经理的个人修养
第一点吧敢苟同,项目经理其实也又不懂技术的,只是很多公司把项目经理都看成技术过硬的人了。项目经理更多是管行政的、管进度,而架构师承担着管理技术的角色。很多小公司都把这两者结合了。 (拼命三郎)
阅读排行榜
1. 这样的面试题你会吗?(4723)
2. 易经杂说—南怀瑾(3982)
3. 年终个人总结:我这五年(3974)
4. Asp.Net Forms验证(自定义、角色提供程序、单点登录)(3969)
5. 为什么要使用MonoRail?(3782)