Tiles框架(yunchat-學習筆記)

yunchat發表於2005-08-23

使用Tiles框架的搭建方式。Tiles元件的配置與使用。

[@more@]

1. 1.Tiles框架包含以下內容:Tiles標籤庫、Tiles元件的配置檔案、TilesPlugIn外掛

2. 2. JSP頁面中標籤和JSP include指令具有相同功能:

作用是相同的 true表示在插入操作之前,先呼叫當前頁面的輸入流的flush()方法。

3. 3. 使用tiles標籤庫:

1) 1). 類包:struts.jarcommons-digester.jarcommons-beanutils.jarcommons-collections.jarcommons-logging.jar

2) 2).加入struts-tiles.tld檔案。 web檔案中配置元素如:

/WEB-INF/struts-tiles.tld

/WEB-INF/struts-tiles.tld

3) 3).在專門的XML檔案中配置Ttile元件(如:tiles-defs.xml),這個檔案位於WEB-INF目錄下。

<definition name="common" path="/WEB-INF/pages/template.jsp">

<put name="menuTitle" value="${menuTitle}" />

<put name="workflow" value="${workflow}" />

<put name="header" value="header.jsp" />

<put name="breadcrumbs" value="breadcrumbs.jsp" />

<put name="graphics" value="${graphics}" />

definition>

<definition name="net.tiles.yun" extends="common">

<put name="menuTitle" value="yunchat welcome you here" />

<put name="graphics" value="yun graphics" />

<put name="message" value="tiles.msg.001" />

<put name="workflow" value="tt workflow" />

<put name="breadcrumbs" value="breadcrumbs.jsp" />

<put name="header" value="header.jsp" />

definition>

4) 4).Struts配置檔案中配置TilesPlugin外掛

<plug-in className="org.apache.struts.tiles.TilesPlugin">

<!-- Path to XML definition file --&gt

<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-defs-yun.xml" />

<!-- Set Module-awareness to true --&gt

<set-property property="moduleAware" value="true" />

property="definition-paser-validate"

value="true" />

plug-in>

definition-paser-validate引數:指定XML解析器是否驗證Tiles配置檔案。預設true;

5) 5).web.xml檔案中配置ActionServlet

為保證Web應用啟動時載入TilesPlugin外掛,應加入ActionServlet控制器,ActionServlet控制器在初始化時能載入所有的外掛。

6) 6). 在JSP檔案中插入Tiles元件,使用Tiles的元件屬性。

4. 4. struts action中可以直接呼叫Tiles元件。

<action-mappings>

<action path="/tiles_action" scope="requests"

type="TilesAction" validate="true">

<forward name="success" path="net.tiles.yun"

redirect="false" />

action>

<action path="/tiles_action"  type="TilesAction" parameter="net.tiles.yun">

action>

action-mappings>

5. 5.Tiles元件的組合:

<definition name="common" path="/WEB-INF/pages/template.jsp">

<put name="menuTitle" value="tiles-definition" type="definition" />

......

definition>

子元素的value屬性指定被包含的Tiles元件的名字。Type屬性設定為”definition”,表示value屬性指定的是Tiles元件,而不是JSP檔案。

6. 6. Tiles元件的擴充套件:

<definition name="common" extends="base-definition">

extends屬性指定被擴充套件的父類Tiles元件。

7. 7.TilesJSP頁面的使用:

1)插入到JSP頁面中:

page="/layouts/commonLayout.jsp" flush="true" />

2)插入一個Tiles同時傳遞屬性值:

<tiles:insert attribute="header">

<tiles:put name="menuTitle" beanName="menuTitle"/>

<tiles:put name="graphics" beanName="graphics"/>

tiles:insert>

<tiles:insert attribute="breadcrumbs">

<tiles:put name="workflow" beanName="workflow" />

<tiles:put name="message" beanName="message" />

<tiles:put name="graphics" beanName="graphics" />

tiles:insert>

3)作為String來得到一個屬性

<tiles:getAsString name=" title ">

4)透過引用屬性來插入Tiles

<tiles:insert attribute="header">

疑惑Tiles中常使用

這樣的作用都是什麼? 不理解。 也請知道的朋友告訴我。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/118026/viewspace-804974/,如需轉載,請註明出處,否則將追究法律責任。

相關文章