javainthinking

          XL的個性空間和java學習之旅

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            13 隨筆 :: 13 文章 :: 20 評論 :: 1 Trackbacks

          本文以最簡單而有效的形式記錄tiles的使用過程,以備以后使用時快速參考。

          1.先建一個layout.jsp布局頁面

          ******
              <tr>
              
          <td height="113" colspan="2" scope="col">
              
          <tiles:insert attribute="top"/>
              
          </td>
            
          </tr>
             
          <tr>
              
          <td width="21%" height="409" scope="row">
              
          <tiles:insert attribute="left"/>
              
          </td>
               
          <td width="79%" height="409" scope="row">
           
          <tiles:insert attribute="main"/>
            
          </td>
             </tr>
          *******
           
          2.新建一個 tiles-defs.xml文件,并在其中做相應(yīng)的配置
          *********
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" "
          http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
          <tiles-definitions>
           <definition name="member-definition" path="/Jsp/layout.jsp">
            <put name="top" value="/mTop.do"/>
            <put name="left" value="/mLeft.do"/>
            <put name="main" value="/defaultMmain.do"/>
           </definition>
          </tiles-definitions>
          *********
          這樣就相當于通過xml文件定義了一個member.jsp.
           
          3.web.xmlstruts-config.xmlweb.xml中做相應(yīng)配置.
          struts-config.xml中配置如下:
          ***********
            <plug-in className="org.apache.struts.tiles.TilesPlugin">
             <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
             <set-property property="definitions-parser-validate" value="true"/>
             </plug-in>
          ***********
          web.xml中配置如下:
          ************
             <init-param>
              <param-name>definitions-config</param-name>
              <param-value>/WEB-INF/tiles-defs.xml</param-value>
             </init-param>
          ************
          4.調(diào)用Tiles組件
          Tiles組件是通過Struts Action來調(diào)用的,在struts-config.xml中做如下action配置:
          *************
                <action
                  path="/member"
                  parameter="member-definition"
                  type="org.apache.struts.actions.ForwardAction"/>
          **************
          然后可以通過訪問/member.do訪問相當于member.jspTiles組件.
          II ---------------------tiles的高級使用--------------------------

           

          1 .tiles組件的嵌套

          然后可以通過訪問/member.do訪問相當于member.jspTiles組件.

          *************

          <tiles-definitions>
           <definition name="member-definition" path="/Jsp/layout.jsp">
            <put name="top" value="menu-definition" type="definition"/>
            <put name="left" value="/mLeft.do"/>
            <put name="main" value="/defaultMmain.do"/>  
          </definition>
          ************

          其中menu-definiton作為一個子tiles組件而單獨配置,這樣就可以把一個個簡單的tiles組件組合成一個復雜的tiles組件。 

           

          2.Tiles組件的擴展

          Tiles組件的擴展,在有很多tiles組件使用相同的模板頁面layout.jsp的時候,特別有用處,我們先定義一個通用的tiles組件如base-definition,其中組件中相應(yīng)的地方value設(shè)置為空。

          *************
          <definition name="base-definition" path="/Jsp/layout.jsp">
            <put name="top" value="/mTop.do"/>
            <put name="left" value="/mLeft.do"/>
           <put name="main" value=" "/>
           </definition>

          *************

          其它tiles組件可以通過集成它,并把name="main"中的value設(shè)置成自己特有的,

          如:
          **************
          <definition name="member-definition" extends="base.definition">
           <put name="main" value="/defaultMmain.do "/>
           </definition>
          ******************
          posted on 2005-05-24 09:05 XL的個性空間和java學習之旅 閱讀(4363) 評論(4)  編輯  收藏

          評論

          # re: Struts中tiles的使用 2005-05-25 09:03 seagull
          你好!
          看了你寫的tiles的文章...我也在使用tiles..我有幾個疑問想和你探討一下.
          1.tiles 里的put name 的時候設(shè)置值為struts的ACTION的時候,加上spring的事務(wù)處理后就出現(xiàn)了respone has been commited的錯這是什么原因呢?
          2. tiles 雖然可以做到布局管理..不過頁面的一小部分發(fā)生數(shù)據(jù)請求的的時候..就需要更新整個頁面..不知道tiles有什么方法可以達到iframe那樣的效果.只更新需要改變的那部分  回復  更多評論
            

          # re: Struts中tiles的使用 2006-04-20 16:44 夢想的天空
          老大,你好,我現(xiàn)在已經(jīng)會用Tiles了,可沒有好的Layout,你可以給我個嗎?我的郵箱是burning423@hotmail.com  回復  更多評論
            

          # re: Struts中tiles的使用 2006-10-09 14:12 不朽的開源
          使用ajax技術(shù)實現(xiàn)局部更新,而且不用刷新整個頁面  回復  更多評論
            

          # re: Struts中tiles的使用 2007-05-02 23:18 fyxruben
          http://www.penguin-soft.com/penguin/developer/struts/api/org/apache/struts/tiles/package-summary.html  回復  更多評論
            


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 天门市| 田林县| 巴楚县| 平谷区| 通海县| 平山县| 南安市| 依安县| 忻州市| 平度市| 德清县| 体育| 龙泉市| 大悟县| 桃源县| 常宁市| 大同市| 于都县| 绥芬河市| 建阳市| 徐汇区| 永州市| 沅江市| 读书| 贵港市| 云南省| 东兴市| 永州市| 庄浪县| 苗栗县| 米脂县| 舞阳县| 元谋县| 望城县| 永嘉县| 乡城县| 静宁县| 左云县| 若尔盖县| 洛隆县| 漠河县|