zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0

          ???????????????????????????????????????? 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.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2006-06-01 14:36 zhyiwww 閱讀(382) 評論(0)  編輯  收藏 所屬分類: j2ee
          主站蜘蛛池模板: 奉新县| 太康县| 敦煌市| 开封县| 孝义市| 恩施市| 揭西县| 开平市| 丹寨县| 镶黄旗| 璧山县| 务川| 永和县| 七台河市| 呼玛县| 商河县| 苍溪县| 定南县| 山东省| 高碑店市| 读书| 马边| 吴川市| 三河市| 开江县| 徐汇区| 永川市| 陈巴尔虎旗| 沁阳市| 汉沽区| 淄博市| 会泽县| 宁蒗| 武安市| 新巴尔虎左旗| 固安县| 曲沃县| 涞源县| 金山区| 寿阳县| 通河县|