yunye 的 JavaBlog

          @see codemouse

          統(tǒng)計

          留言簿(1)

          閱讀排行榜

          評論排行榜

          Struts使用Tiles輔助開發(fā)(轉(zhuǎn)載)

          Jplateau(原作) 來自:http://www.javaresearch.org/article/8134.htm

          對于在頁面的布局管理以及可重用方面,Tiles做得很優(yōu)秀,使我們在開發(fā)過程中思路非常流暢,特別是在用struts開發(fā)項目過程中,如果使用tiels來輔助開發(fā),往往能帶到事半功倍的效果。

          如果要看Tiles的詳細文檔,請訪問http://www.lifl.fr/~dumoulin/tiles/

          在此我想從使用方式上說一下自己的經(jīng)驗:

          往往我們的一個項目中,大部分的頁面的布局都是一樣的,這其中如果我們把一樣風格的頁面歸為一類的話,這樣的分類就不會很多了。(不同的項目這樣的分類多少為有區(qū)別,要看頁面風格規(guī)劃的是否高效)

          假設(shè)我們提出一類頁面(如產(chǎn)品管理)的風格,布局如下:
           
          那么我們可以在tiles-defs.xml中定義這樣一個總的類型,如下:

          tiles-defs.xml  放在/yourwebapp/WEB-INF/下

          1. <?xml version="1.0" encoding="ISO-8859-1" ?>
          2.  <!DOCTYPE tiles-definitions PUBLIC
          3.        "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
          4. "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
          5. <tiles-definitions>
          6.       <!―布局類型一 -->
          7.          <definition name="mainLayout" path="/homepage.jsp">
          8.          <put name="top"  value="/header.jsp" />
          9.          <put name="menu"    value="/menu.jsp"/>
          10.          <put name="main" value="/main.jsp" />
          11.          <put name="footer" value="/footer.jsp" />   
          12.   </definition>
          13.        ……
          14.        <!―布局類型二 -->
          15.   <definition>
          16.               ……
          17.   </definition>
          18.        ……
          19. </tiles-definitions>


          以上定義了一種布局類型,假設(shè)命名為A布局,下面要列舉兩個屬于該類型風格的頁面的布局方法添加產(chǎn)品頁面,最終我們要關(guān)心的時addProducts.jsp這個頁面,但是我們?nèi)绾问褂肁布局的布局風格呢?

          如下:

          ……接上tiles-defs.xml……

          1.       <!―布局類型A布局一 -->
          2.          <definition name="mainLayout" path="/homepage.jsp">
          3.          <put name="top"  value="/header.jsp" />
          4.          <put name="menu"    value="/menu.jsp"/>
          5.          <put name="main" value="/main.jsp" />
          6.          <put name="footer" value="/footer.jsp" />   
          7. </definition>
          8. <!―布局類型A布局“子類1:添加商品”一 -->
          9. <definition name=”mainLayout_products_add” extends=” mainLayout”>
          10.      <put name=”main” value=”/addProducts.jsp”/>
          11.      <!―相當于把布局A中main的內(nèi)容換成我們需要的,其他保留 -->
          12. </definition>
          13. <!―布局類型A布局“子類2:查詢商品”一 -->
          14. <definition name=”mainLayout_products_search” extends=” mainLayout”>
          15.      <put name=”main” value=”/searchProducts.jsp”/>
          16. <!―相當于把布局A中main的內(nèi)容換成我們需要的,其他保留 -->
          17. </definition>
          18. ……
          19. ……


          以上只是以一種布局類型來說明,其他的布局類型(如:布局B,布局C。。。。。)都用相通的方法擴展,沒有什么難的地方。

          下面簡要說一些tiles在struts-config.xml中的配置,在struts1.1種tiles是利用struts的擴展機制來完成裝載的,代碼很簡單如下:

          1. //struts-config.xml
          2.   ……
          3.   <plug-in className="org.apache.struts.tiles.TilesPlugin" >
          4.     <set-property property="definitions-config" 
          5.                         value="/WEB-INF/tiles-defs.xml" />
          6.   </plug-in>


          如果你些多個tiles配置文件,那么用“,”號隔開。
          下面在舉一個使用tiles以后action mapping 的寫法

          如我們要進行添加商品的請求,在添加頁面里要先進行商品類型的裝載:

          addProductAction.do――〉ProductAction――〉addProducts.jsp
          ProductAction完成商品類型的集合返回client端
          1. //Struts-config.xml
          2. …………
          3.        <action path=”/ addProductAction”
          4.                      type=”com.***. ProductAction”>
          5.         <!―成功以后返回布局A子類1-- >
          6.        <forward name=”” path=” mainLayout_products_add”>
          7. </action>
          8. …………


          好了,以上對一個操作的流程采用tiles以后的寫法進行了簡要的說明,具體Tiles的文檔請參看上面給出的連接。

          Struts發(fā)布包里也有tilse的文檔和例子。

          posted on 2008-03-18 14:37 yunye 閱讀(236) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 北海市| 昌邑市| 河源市| 霍林郭勒市| 土默特右旗| 青冈县| 泊头市| 湟源县| 那坡县| 鄢陵县| 英吉沙县| 虹口区| 浦北县| 咸阳市| 彩票| 乐平市| 浏阳市| 昌乐县| 鹿邑县| 湟源县| 宜宾县| 深水埗区| 惠安县| 如皋市| 宕昌县| 贵州省| 新乡县| 中阳县| 绵阳市| 桂平市| 浑源县| 贵阳市| 朔州市| 高州市| 辉南县| 云安县| 海原县| 甘南县| 安陆市| 汕头市| 拜城县|