WebWork2与SpringFramework集成之实例篇(原创)(4)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

4、用Velocity替代JSP

(1)添加WebWorkVelocityServlet控制器:ww2/WEB-INF/web.xml

<servlet>

<servlet-name>velocity</servlet-name>

<servlet-class>com.opensymphony.webwork.views.velocity.WebWorkVelocityServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>velocity</servlet-name>

<url-pattern>*.vm</url-pattern>

</servlet-mapping>

l 在web.xml添加WebWorkVelocityServlet控制器,并映射到*.vm

(2)配置webwork.i18n.encoding:ww2/WEB-INF/classes/webwork.properties

webwork.i18n.encoding=ISO-8859-1

l Velocity用到webwork.i18n.encoding

l webwork.i18n.encoding在WebWork2的缺省配置中没有设置,所以需要在webwork.properties中设置

(3)使用Velocity实现结果视图:hello.vm

<html>

<head><title>$action.getText('title')</title></head>

<body>

<h1>$action.getText('heading')</h1>

<p>$action.getText('greeting') $now

</p>

<h3>Products</h3>

#foreach( $product in $products )

$product.description <i>$ $product.price</i><br><br>

#end

<br>

<a href="priceIncreaseForm.action">Increase Prices</a>

<br>

</body>

</html>

l 使用资源束:使用$action.getText()方法获得

l 获得Action属性值:使用$PropertyName获得属性值

l #foreach指令同样用来遍历集合,不同的是使用变量接收集合中的元素对象,用来进一步访问其属性

(4)更改Action配置:ww2/WEB-INF/classes/xwork.xml

<result name="success" type="velocity">

<param name="location">/WEB-INF/template/hello.vm</param>

</result>

<!--

<result name="success" type="dispatcher">

<param name="location">/WEB-INF/jsp/hello.jsp</param>

</result>

-->

l 修改<result>标记,type属性设为velocity,location参数指定Velocity模版文件

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航