<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 銀河使者 閱讀(3070) 評論(0)  編輯  收藏 所屬分類: javaweb 原創struts1.x

    主站蜘蛛池模板: 国产午夜亚洲不卡| 亚洲麻豆精品果冻传媒| 日韩精品无码免费专区午夜不卡| 亚洲色欲色欲www在线丝 | 免费在线中文日本| 亚洲精品伊人久久久久| 国产一级淫片a免费播放口之| 国产成人1024精品免费| 亚洲精彩视频在线观看| 免费成人黄色大片| 在线看无码的免费网站| 美女被艹免费视频| 久久久久亚洲AV无码专区首JN| 国产精品嫩草影院免费| 久久久久久一品道精品免费看| 亚洲欧美日韩自偷自拍| 亚洲国产日韩一区高清在线| 国产青草视频在线观看免费影院| 小日子的在线观看免费| 婷婷国产偷v国产偷v亚洲| 亚洲综合区图片小说区| 亚洲中文字幕无码爆乳AV| 国产成在线观看免费视频| 十八禁在线观看视频播放免费| 丁香婷婷亚洲六月综合色| 国产A在亚洲线播放| 国产在线不卡免费播放| 最近免费字幕中文大全视频| 国产视频精品免费视频| 亚洲欧美成aⅴ人在线观看| 亚洲视频免费在线观看| 国产亚洲精品无码专区| 国产成人免费a在线视频app | 亚洲成av人在线视| 大胆亚洲人体视频| 蜜桃视频在线观看免费网址入口| 免费黄网站在线看| 三级黄色片免费看| 日本免费精品一区二区三区 | 另类免费视频一区二区在线观看| 亚洲av日韩综合一区二区三区|