分享

Velocity应用(二)

 真爱图书 2012-03-06
第四部分:与 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.");
  其他代码比较固定,但是也非常重要,但是对于每个应用来说写法都很相同:
这是初始化 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./

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

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


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多