第四部分:与 Struts 框架的互操作
Struts 是一种构造基于 MVC 模型的框架的流行 Web 应用程序。Struts 默认的视图组件技术是 JSP 技术。但是,可以很容易把 Velocity 集成进来作为视图组件。图 1 说明了 Velocity 的这种具体应用:
图 1. Velocity 与 Struts MVC 框架集成
重要的是要看到,在这种结合中 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
分享到:
相关推荐
【Velocity模板应用案例】 Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态内容。Velocity通过将逻辑与呈现分离,使得开发者可以专注于业务逻辑,而设计师可以自由地设计页面...
- **resources** 目录:可能存储 Velocity 配置文件(如 `velocity.properties`),以及应用中使用的资源文件。 - **src/main/java** 目录:包含 Velocity 相关的 Java 类,如控制器、模型类和 velocity 工具类。 - ...
#### 二、使用 Velocity 构建 Web 应用的方法 ##### 1. 使用 Velocity 构建 Web 应用的优势 - **简洁**:普通的网页设计师无需具备编程背景即可设计动态页面。 - **易维护**:遵循 MVC 设计原则,页面中不包含脚本...
Velocity是Apache软件基金会的一个开源项目,它...总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端的清晰分离,提高了开发效率和用户体验。
在Web开发领域,Velocity是一个非常重要的模板引擎,它被广泛应用于生成动态网页内容。Velocity由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。其设计目标是提供一个简单易用但功能强大的工具,用于...
Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,常用于Java应用程序中的视图层。Velocity通过将逻辑与表示分离,使得开发者可以专注于业务逻辑,而设计师则可以专心于页面设计。本篇文章将深入...
** Velocity模板应用详解 ** Velocity是一款强大的Java模板引擎,它为开发者提供了一种与呈现逻辑分离的方式,使得HTML、XML或者其他格式的文档可以更清晰地与业务逻辑代码分开。Velocity被广泛应用于Web应用开发,...
Apache Ant是一个Java项目管理工具,可以用于编译、打包和部署应用程序。将Velocity与Ant结合,可以自定义模板生成符合特定需求的源代码,比如数据库访问层、实体类或者控制器代码。通过这种方式,开发者可以提高...
本部分将展示如何在Servlet环境中集成Velocity,并通过实例介绍如何将Velocity应用于Web开发。 1. 搭建Java Web工程,这里直接使用Maven的maven-archetype-webapp生成项目骨架。 2. 添加Tomcat运行环境,通过Maven...
3. **上下文(Context)**:Velocity中的Context对象是数据传递的桥梁,它连接了应用程序和模板。开发者可以将数据放入Context,然后在模板中访问这些数据。 4. **宏**:Velocity支持宏定义,宏类似于函数,可以在...
### Velocity Web应用开发指南知识点详解 #### 一、Velocity简介及优势 **Velocity** 是一款高性能的模板引擎,常用于Web应用开发中生成HTML页面,同时也支持其他类型的文本输出,如XML、PDF等。它的主要优势包括...
Velocity 是一款基于 Java 的模板引擎,它被广泛应用于 Web 开发中,特别是作为 Apache Struts 和 Spring MVC 框架的一部分。Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的支持,使得开发者可以在 ...
Velocity Tools还可以与Spring、Struts等其他框架集成,增强应用的功能。 `commons-collections.jar`和`commons-lang.jar`是Apache Commons项目的一部分,它们为Java开发提供了额外的集合操作和通用语言工具。这两...
- **Velocity**的数据绑定功能虽然不如FreeMarker强大,但在简单应用中已经足够。 8. **模板继承与包含**: - **FreeMarker**支持强大的模板继承和包含机制,能够更好地组织代码结构。 - **Velocity**在这方面也...
Eclipse是一款广泛使用的Java集成开发环境(IDE),它支持多种编程语言和框架。Velocity是Apache软件基金会的一个开源项目,是一个快速、...熟练掌握插件的使用,能够帮助你更高效地利用Velocity进行Web应用的开发。
Velocity是由Apache软件基金会开发的一个开源项目,它最初设计用于生成静态网站内容,但后来被广泛应用于各种Java应用中,如电子邮件模板、报告生成、XML文档构建等。Velocity的核心理念是“分离展示层和逻辑层”,...