<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實(shí)的筆,記錄編程路上的點(diǎn)點(diǎn)滴滴………
    posts - 536,comments - 394,trackbacks - 0

    ???????????????????????????????????????? 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
    主站蜘蛛池模板: 999任你躁在线精品免费不卡| 午夜一级毛片免费视频| 亚洲国产精品lv| 亚洲国产成a人v在线观看| 免费的涩涩视频在线播放| 亚洲阿v天堂在线2017免费| 精品日韩亚洲AV无码| 国产嫩草影院精品免费网址| 欧洲人成在线免费| 亚洲AV无码之国产精品| 免费一级e一片在线播放| 成年网在线观看免费观看网址 | 免费大片av手机看片| 亚洲一区二区成人| 免费国产成人午夜私人影视| 无码人妻精品中文字幕免费| 亚洲另类无码专区首页| 无码欧精品亚洲日韩一区| 99免费视频观看| 成年网在线观看免费观看网址| 亚洲国产精品久久网午夜| 亚洲综合最新无码专区| 成年女人毛片免费播放人| 国产午夜不卡AV免费| 黄色一级毛片免费看| 亚洲精品无码久久久久sm| 在线精品免费视频无码的| 一级毛片视频免费| 亚洲午夜精品一区二区| 亚洲高清无码专区视频| 国产三级在线观看免费| 久久精品私人影院免费看| 污网站在线观看免费| 亚洲日韩国产精品乱-久| 亚洲免费视频网站| 亚洲熟妇丰满多毛XXXX| 国产成人精品久久免费动漫| 小说区亚洲自拍另类| 亚洲妇熟XXXX妇色黄| 国产乱码免费卡1卡二卡3卡| 人妻仑刮八A级毛片免费看|