Puras 原创
Struts和Velocity集成相当的简单, 有Struts的基础的人, 可以说一看就明白啦.呵.
下面就简单的说下这个过程:
第一步, 在web.xml中加入Velocity 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>
-->
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
这样, 所有的以vm结尾的文件, 都会交到Velocity Servlet处理, 上面注释掉的一部分, 是toolbox 是声明应用程序的可用工具的位置.如果要用这个工具的话, 记得把注释去掉哟.我下面就用了, 但为了记得明白, 就不去注释了.嘿
第二步, 就是把toolbox.xml放到/WEB-INF下喽.
不过说一句, 如果你想在页面中全部使用Velocity的话, 这个是得加的, 反之, 你想在页面中用Struts标签和Velocity的话, 这个工具就可以省略啦
这个toolbox.xml在 Velocity 工具下载中找到, 也可以自己写一个啦.
<?xml version="1.0"?>
<toolbox>
<tool>
<key>link</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.StrutsLinkTool
</class>
</tool>
<tool>
<key>msg</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.MessageTool
</class>
</tool>
<tool>
<key>errors</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.ErrorsTool
</class>
</tool>
<tool>
<key>form</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.FormTool
</class>
</tool>
<tool>
<key>tiles</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.TilesTool
</class>
</tool>
<tool>
<key>validator</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.ValidatorTool
</class>
</tool>
</toolbox>
第三步, 修改struts-config.xml
其实也就是把View层的JSP换成VM而已.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="searchForm" type="com.puras.test.velocity.SearchForm" />
</form-beans>
<global-forwards>
<forward name="welcome" path="/welcome.do" />
</global-forwards>
<action-mappings>
<action path="/welcome"
type="org.apache.struts.actions.ForwardAction"
parameter="/pages/search.vm" />
<action path="/search"
type="com.puras.test.velocity.SearchAction"
name="searchForm"
scope="request"
input="/pages/search.vm">
<forward name="success" path="/pages/results.vm" />
</action>
</action-mappings>
</struts-config>
第四步, 创建Velocity模版
这个Demo中只用到了两个VM文件,
分别如下, 里面用到了Velocity的工具哟
search.vm:
<html>
<head>
<title>Search</title>
</head>
<body>
$!errors.msgs()
<form method="POST"
action="$link.setAction('/search')">
<h2>Book Search</h2>
ISBN:<input type="text" name="sea" />
<input type="submit" value="Submit" name="submit" />
</form>
</body>
</html>
results.vm:
<html>
<head>
<title>Results</title>
</head>
<body>
<h1>Book Details</h1>
<a href="$link.setForward("welcome")">Search again</a>
<h3>$user.name</h3>
<b>Name:</b> $user.name<br />
<b>Age:</b> $user.Age<br />
<b>Sex:</b> $user.sex<br />
</body>
</html>
文件是不是很简单呢?
只是感觉不用Struts标签的话, 又得熟悉一下Velocity的工具, 麻烦......
等用的时候再说吧.
|----------------------------------------------------------------------------------------|
版权声明 版权所有 @zhyiwww
引用请注明来源 http://www.blogjava.net/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2006-06-01 14:36
zhyiwww 阅读(377)
评论(0) 编辑 收藏 所属分类:
j2ee