小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

struts中tiles框架的組合與繼承 - yjhmily - BlogJava

 nbtymm 2006-10-31
這兩天在給公司的新項(xiàng)目搭框架,在配tiles框架的時(shí)候發(fā)現(xiàn)一個(gè)小問題:
    比如開發(fā)團(tuán)隊(duì)一共5人,每人10個(gè)頁面,如果按照簡單的tiles框架配置方法,每個(gè)<definition/>中都會(huì)產(chǎn)生很多重復(fù)的<put name="top" value="xxx.jsp"/>代碼,導(dǎo)致tiles-defs.xml文件不段的膨脹.
    仔細(xì)想了想tiles框架的原理,如果tiles支持嵌套功能的話,雖然tiles-defs.xml文件中的<definition/>個(gè)數(shù)沒辦法減少,但
每個(gè)<definition/>中的<put/>是完全可以精簡的.即需要改變哪個(gè)頁面就只配置哪個(gè)頁面;
    查了一下struts的文檔,雖然沒找到tiles框架的嵌套功能,卻找到了組合和擴(kuò)展(我喜歡叫它繼承),同樣能解決問題!

 
   下面我簡單介紹一下它們各自的用法:(頁面布局見下圖)

tiles_layout.jpg

一,Tiles組件的模板

    這里我們需要設(shè)置兩個(gè)layout模板,分別為parent_layout.jsp和child_layout.jsp
   
    parent_layout.jsp
    
<!--parent_layout.jsp-->
<body>
    
<div>
        
<!--頂部菜單區(qū)域-->
    
<tiles:insert attribute="top" />
    
<!--左邊豎導(dǎo)航-->
    
<tiles:insert attribute="left" />
        
<!--右邊主內(nèi)容區(qū)域-->
        
<tiles:insert attribute="child" />
        
<!--底步區(qū)域-->
    
<tiles:insert attribute="foot" />
    
</div>
</body>

   child_layout.jsp

<!--child_layout.jsp-->
<body>
    
<div>

    
<!--右邊主內(nèi)容的tab區(qū)域-->
    
<tiles:insert attribute="tab" />
    
<!--右邊主內(nèi)容的content區(qū)域-->
    
<tiles:insert attribute="content" />
     

    </div>
</body>



二,
Tiles組件的組合
   
    根據(jù)以上模板的定義,在
tiles-defs.xml文件中就可以這樣寫來實(shí)現(xiàn)Tiles的組合了:
   
// 父級(jí)tiles模板配置
<definition name="parent"path="/parent_layout.jsp">
<put name="top" value="/top.jsp" />
<put name="left" value="/left.jsp" />
<put name="child" value="child" type="definition"/> 
<put name="foot" value="/foot.jsp" />
</definition>

// 子級(jí)tiles配置
<definition name="child"path="/child_layout.jsp">
<put name="tab" value="/tab.jsp" />
<put name="content" value="/content.jsp" />
</definition>

   
三,Tiles組件的擴(kuò)展(繼承)
   
    這里需要對(duì)以上的parent_layout模板做一些修改,并且不需要使用child_layout

    修改后的parent_layout.jsp
   
<!--parent_layout.jsp-->
<body>
    
<div>
        
<!--頂部區(qū)域-->
    
<tiles:insert attribute="top" />
    
<!--左邊豎導(dǎo)航-->
    
<tiles:insert attribute="left" />
    
<!--右邊主內(nèi)容區(qū)域-->
        
<tiles:insert attribute="tab" />
    
<tiles:insert attribute="content" />
        
<!--底部區(qū)域-->
        
<tiles:insert attribute="foot" />
    
</div>
</body>

    改完模板文件,下來該進(jìn)行tiles的配置了;

// 父級(jí)tiles模板配置
<definition name="parent" path="/parent_layout.jsp">
<put name="top" value="/top.jsp" />
<put name="left" value="/left.jsp" />
<put name="tab" value="/tab.jsp" />
<put name="content" value="" />
<put name="foot" value="/foot.jsp" />
</definition>



// 子級(jí)tiles模板配置
<definition name="child" extends="parent">
<put name="content" value="/content.jsp" />
</definition>

如上所示,大家在開發(fā)中,每個(gè)頁面只需要配置
子級(jí)tiles的content.jsp就ok!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多