???????????????????????????????????????? Puras 原創(chuàng)
Struts和Velocity集成相當(dāng)?shù)暮唵??有Struts的基礎(chǔ)的人,?可以說一看就明白啦.呵.
下面就簡單的說下這個(gè)過程:
第一步,?在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結(jié)尾的文件,?都會(huì)交到Velocity?Servlet處理,?上面注釋掉的一部分,?是toolbox?是聲明應(yīng)用程序的可用工具的位置.如果要用這個(gè)工具的話,?記得把注釋去掉喲.我下面就用了,?但為了記得明白,?就不去注釋了.嘿
第二步,?就是把toolbox.xml放到/WEB-INF下嘍.
不過說一句,?如果你想在頁面中全部使用Velocity的話,?這個(gè)是得加的,?反之,?你想在頁面中用Struts標(biāo)簽和Velocity的話,?這個(gè)工具就可以省略啦
這個(gè)toolbox.xml在?Velocity?工具下載中找到,?也可以自己寫一個(gè)啦.
<?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
其實(shí)也就是把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>
第四步,?創(chuàng)建Velocity模版
這個(gè)Demo中只用到了兩個(gè)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標(biāo)簽的話,?又得熟悉一下Velocity的工具,?麻煩......
等用的時(shí)候再說吧.
|----------------------------------------------------------------------------------------|
版權(quán)聲明 版權(quán)所有 @zhyiwww
引用請注明來源 http://www.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2006-06-01 14:36
zhyiwww 閱讀(379)
評論(0) 編輯 收藏 所屬分類:
j2ee