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

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

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

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Struts1.x系列教程(22):Tiles框架簡介

    本文為原創,如需轉載,請注明作者和出處,謝謝!

    上一篇:Struts1.x系列教程(21):使用MappingDispatchAction類調用不同的Action方法

        Tiles框架是Struts的一個插件。我們可以使用Tiles框架來進行頁面布局設計。Tiles框架提供了一種模板機制,它可以將網頁內容和布局分離,并允許先創建模板,然后在頁面中再插入具體的內容。

    一、安裝Tiles框架

    為了使用Tiles,我們必須首先在struts-config.xml文件中聲明Tiles,配置代碼如下:

    <plug-in className="org.apache.struts.tiles.TilesPlugin">
        <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
    </plug-in>

    其中org.apache.struts.tiles.TilesPlugin類只需要設置一個definitions-config屬性。這個屬性值指向了一個定義文件tiles-defs.xml。這個定義文件的基本格式如下:

     

      <?xml version="1.0" encoding="GBK" ?>
      
    <!DOCTYPE tiles-definitions PUBLIC
             "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
             "http://struts.apache.org/dtds/tiles-config_1_1.dtd"
    >
      
    <tiles-definitions>
          
    <definition name="def1" path="/tiles/layout1.jsp">
              
    <put name="title" value="我的標題" />
              
    <put name="header" value="header.jsp" />
               
          
    </definition>
          
    <definition name="def2" path="/tiles/layout1.jsp" >
               
          
    </definition>
      
    </tiles-definitions>


           
    其中<tiles-definitions>元素中可以包含多個<definition>子元素。我們還可以將一個定義文件拆成多個定義文件,如A-defs.xml、B-defs.xml和C-defs.xml。在為definitions-config屬性賦值時,如果有多個定義文件,中間用逗號(,)分割。如下面的代碼所示:

     

    <set-property property="definitions-config" value="/WEB-INF/A-defs.xml, /WEB-INF/B-defs.xml, /WEB-INF/C-defs.xml " />

    Tiles框架還有一個定制標簽庫。我們可以使用如下的taglib指令來聲明這個標簽庫:

     

      <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>

    二、<jsp:include><tiles:insert>標簽

        由于在編寫Web程序的過程中,很多頁面會出現同樣的內容,如所有的頁面都使用同樣的的頁頭和頁尾。在JSP標簽庫中提供了一個include標簽可以將其他的頁面包含到當前的頁面中,如我們可以使用如下的代碼包含頁頭和頁尾。

     

     

       
      
    <jsp:include page = "header.jsp" />
       
      
    <jsp:include page = "footer.jsp" />
       

    Tiles框架的標簽庫中也提供了一個insert標簽。這個標簽也可以完成和include同樣的工作。如上述代碼也可以寫成如下形式:

     

     

      <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
       
      
    <tiles:insert page = "header.jsp" />
       
      
    <tiles:insert page = "footer.jsp" />
       


        雖然include和insert標簽都可以很好地解決代碼重用問題,但是并不能完全避免代碼重復的問題。如很多使用include或insert標簽的頁面也擁有很多類似或相同的代碼。如使用css布局、用table、div等HTML元素進行位置控制等。如果想避免這些代碼的重復。光使用include或insert標簽是無法做到的。而要想做到這一點,就要使用下一篇文章中介紹的Tiles模板。

    下一篇:Struts1.x系列教程(23):使用Tiles模板進行布局

     





    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-02-25 22:42 銀河使者 閱讀(3057) 評論(0)  編輯  收藏 所屬分類: javaweb 原創struts1.x

    主站蜘蛛池模板: 免费无码作爱视频| 免费无码又爽又刺激毛片| 久久亚洲sm情趣捆绑调教| 九九九精品成人免费视频| 国产午夜亚洲精品不卡电影| 久久精品国产精品亚洲精品| 手机在线毛片免费播放| 免费看黄的成人APP| 亚洲人成色777777精品| 亚洲国产成人高清在线观看| 老司机永久免费网站在线观看| 中国黄色免费网站| 亚洲精品乱码久久久久久蜜桃图片 | 114级毛片免费观看| 曰批全过程免费视频免费看 | 国产精品亚洲AV三区| 亚洲伊人久久大香线蕉苏妲己| 老司机永久免费网站在线观看| 日本免费大黄在线观看| 无遮挡免费一区二区三区| 亚洲噜噜噜噜噜影院在线播放| 伊人久久亚洲综合| 日本免费一二区在线电影| 51视频精品全部免费最新| free哆拍拍免费永久视频| 亚洲熟妇av午夜无码不卡| 亚洲不卡中文字幕无码| 亚洲av麻豆aⅴ无码电影| 4虎永免费最新永久免费地址| 亚洲日韩在线观看免费视频| 亚洲欧美自偷自拍另类视 | 四虎永久在线精品免费一区二区| 亚洲国产精品综合久久20| 久久亚洲AV成人出白浆无码国产| 亚洲熟妇少妇任你躁在线观看无码| 毛片a级毛片免费播放100| 99久久久国产精品免费牛牛四川| 99久久婷婷免费国产综合精品| 免费夜色污私人影院网站电影| 亚洲日韩av无码中文| 99热亚洲色精品国产88|