Velocity应用(二)

第四部分:与 Struts 框架的互操作

Struts 是一种构造基于 MVC 模型的框架的流行 Web 应用程序。Struts 默认的视图组件技术是 JSP 技术。但是,可以很容易把 Velocity 集成进来作为视图组件。图 1 说明了 Velocity 的这种具体应用:
图 1. Velocity 与 Struts MVC 框架集成
[img]http://aumy2008.blogbus.com/files/12258531700.jpg[/img]

重要的是要看到,在这种结合中 Velocity 并没有代替 JSP 技术。相反,JSP 技术和 Velocity 模板可以协同工作。集成 Velocity 需要配置 VelocityViewServlet 以便处理 .vm 模板,就像 部署 VelocityViewServlet 部分所讲的那样。这意味着.jsp 文件将继续由容器(即 Tomcat 5 中的 Jasper)处理,而任何 .vm 模板则传递给 Velocity。

Velocity Tools 子项目中的 VelocityStruts 组件包含集成 Velocity 与 Struts 的所有功能。 VelocityStruts 提供了一组专用的 Velocity 工具,用于访问 Struts 专有的资源和 Velocity 模板中的信息。表 3 列出了最常用的工具:

表 3. 用于 VelocityStruts 集成的工具

工具名
描述
StrutsLinkTool 针对 Struts 的 LinkTool 专用版本,提供了 setAction() 和 setForward() 访问预先配置的活动映射。
FormTool 访问 Struts 的表单 beans。
ErrorsTool 处理 Struts 错误消息,包括对国际化的支持。
MessageTool 提供对 Struts 国际化支持的访问,尤为特别的是依赖于语言的消息资源。

还有一组工具专用于 Struts 1.1 中的新特性,如表 4 所示:

表 4. 专用的 Struts 1.1 访问工具

工具名
描述
SecureLinkTool 用于 Struts 1.1 的安全链接(SSL)扩展。
ActionMessagesTool 提供对 Struts 1.1 新对象 ActionMessages 的访问。
TilesTool 提供对 Struts 1.1 Tiles 扩展支持的访问。
ValidatorTool 提供对 Struts 1.1 Validator 扩展的访问,生成代码验证表单输入字段。

部分web.xml代码示例:

<!-- Action Servlet Configuration -->

<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml, /WEB-INF/struts-config-registration.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>velocity</servlet-name> <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet </servlet-class> <init-param> <param-name>org.apache.velocity.toolbox</param-name> <param-value>/WEB-INF/toolbox.xml</param-value> </init-param> <init-param> <param-name>org.apache.velocity.properties</param-name> <param-value>/WEB-INF/velocity.properties</param-value> </init-param> </servlet> <!-- Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>velocity</servlet-name> <url-pattern>*.vm</url-pattern> </servlet-mapping> <!-- The Welcome File List --> <welcome-file-list> <welcome-file>index.vm</welcome-file> </welcome-file-list>
第五部分:Velocity在Java中的应用
1、first, get and initialize an engine(获取并初始化末班引擎)

2、next, get the Template(获取模板文件,得到模板引用)

3、create a context and add data(创建模板环境,并将数据放入环境)

4、将环境变量和输出部分结合

代码部分:

这里 Velocity 获取模板文件,得到模板引用

/* next, get the Template */
Template t = ve.getTemplate( "hellosite.vm" );  这里,初始化环境,并将数据放入环境
/* create a context and add data */VelocityContext context = new VelocityContext();context.put("name", "Eiffel Qiu");context.put("site", "http://www.eiffelqiu.com");
  其他代码比较固定,但是也非常重要,但是对于每个应用来说写法都很相同:
这是初始化 Velocity 模板引擎
/* first, get and initialize an engine */VelocityEngine ve = new VelocityEngine();
ve.init();
  这是用来将环境变量和输出部分结合。
StringWriter writer = new StringWriter();
t.merge( context, writer );
/* show the World */
System.out.println( writer.toString() );
官方网站:http://velocity.apache.org/

参考网址:使用 Velocity 实现客户端和服务器端模板

http://www.blueidea.com/tech/program/2003/891_3.asp



随机文章:
Velocity应用(一) 2008-11-04
JSP页面缓存技术--浏览器缓存 2008-08-12
UI解释 2008-05-07
在项目中应用Spring的Acegi安全框架的步骤 2008-05-04
Spring基础知识(三) 2008-05-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值