快速业务通道

使用Velocity实现客户端和服务器端模板 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
单 24. 通过使用 index.vm Velocity 模板与 Struts 互操作

<html> <head> <title>$msg.get("index.title")</title> </head> <body bgcolor="white"> #if ( !$application.database)   <font color="red">    ERROR: User database not loaded -- check servlet container logs    for error messages.   </font>   <hr> #end <h3>$msg.get("index.heading")</h3> <ul> <li> <a href="$link.setURI("editRegistration.do").addQueryData("action","Create")"> $msg.get("index.registration") </a> </li> <li> <a href="$link.setURI("logon.jsp")"> $msg.get("index.logon") </a> </li> </ul> <p>&nbsp;</p> <a href="$link.setURI("tour.do")"> <font size="-1">$msg.get("index.tour")</font> </a> <p>&nbsp;</p> <img src="$link.setURI("powered-by-logo.gif")" alt="Powered by Velocity"/> </body> </html>

在 index.vm 中,整个模板都使用 $msg 内的消息工具访问 Struts 的地域有关的国际化资源。通过对包含国际化字符串的资源包的本地化更改,这种方法避免了模板中的多数硬编码字符串。

您可以使用 VTL 的条件指示符 #if 直接检查在 servlet 上下文中是否存在数据库属性。$application 引用可用于访问 servlet 上下文中的任何属性( $request 、 $response 和 $session 也可用于访问其他 Servlet API 对象的属性)。

LinkTool 的 setURI() 方法用于生成服务器端到 Struts 动作和“Powered by Velocity”标志图片的 URI 链接。注意,这里使用 LinkTool 的 addQueryData() 方法向结果 URI 种增加附加的动作信息。

要测试该 Velocity 页面,您可以启动 Tomcat 5 并访问 http://localhost:8080/struts-example/ URL。注意它的结果与原来的 JSP 版本完全一致。

结束语

Velocity 模板处理程序可以直接集成到 Java 语言应用程序中,立即提供报告生成或者模板处理的功能。

将模板引擎扩展到 Web 应用程序,可以使用 VelocityServlet 处理动态生成 HTML 输出的 Velocity 模板。Velocity 工具项目对使用 VelocityViewServlet 组件化 Web 层应用程序开发提供了更多的支持。VelocityViewServlet 以模板为基础为基于 Web 的 UI 构造提供了方便的视图层。

在使用 MVC 模型框架设计复杂的 Web 应用程序时,Velocity 作为一种视图/模板化技术——以 VelocityViewServlet 的形式——可以很方便地插入到框架中。对于流行的 Jakarta Struts MVC 框架,Velocity 可以与基于 JSP 的视图技术协作,也可以和选择的任何模型技术进行交互。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号