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

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

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

    yunye 的 JavaBlog

    @see codemouse

    統(tǒng)計(jì)

    留言簿(1)

    閱讀排行榜

    評論排行榜

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

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

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

    如果要看Tiles的詳細(xì)文檔,請?jiān)L問http://www.lifl.fr/~dumoulin/tiles/

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

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

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

    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布局,下面要列舉兩個(gè)屬于該類型風(fēng)格的頁面的布局方法添加產(chǎn)品頁面,最終我們要關(guān)心的時(shí)addProducts.jsp這個(gè)頁面,但是我們?nèi)绾问褂肁布局的布局風(fēng)格呢?

    如下:

    ……接上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.      <!―相當(dāng)于把布局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. <!―相當(dāng)于把布局A中main的內(nèi)容換成我們需要的,其他保留 -->
    17. </definition>
    18. ……
    19. ……


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

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

    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>


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

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

    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. …………


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

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

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


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产成人精品免费午夜app| 日本人的色道www免费一区| 亚洲国产精品白丝在线观看| 一个人免费观看www视频在线| 日本亚洲中午字幕乱码| 亚洲中文久久精品无码ww16| 亚欧免费视频一区二区三区| 激情小说亚洲色图| 亚洲综合久久综合激情久久| 日本免费网站观看| 久久成人无码国产免费播放| 亚洲日韩精品国产一区二区三区| 亚洲偷自拍拍综合网| 无遮免费网站在线入口| 色老头综合免费视频| 亚洲国产综合精品| 国产亚洲AV无码AV男人的天堂| 久久精品网站免费观看| a级毛片在线免费观看| 亚洲色成人网站WWW永久四虎| 日本亚洲视频在线| 免费不卡中文字幕在线| 91成人免费在线视频| 全黄大全大色全免费大片| 激情小说亚洲图片| 99久久婷婷国产综合亚洲| 久久久久久亚洲av成人无码国产| 国产v片免费播放| 99视频在线精品免费观看6| 国产成人精品一区二区三区免费| 精品亚洲视频在线| 亚洲熟伦熟女专区hd高清| 亚洲高清美女一区二区三区| 国内精品99亚洲免费高清| 国产精品色午夜视频免费看| 91精品免费观看| 黄页免费在线观看| 插鸡网站在线播放免费观看| 狼人大香伊蕉国产WWW亚洲| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲一卡2卡三卡4卡无卡下载|