Tiles框架特性和內容
Tiles框架為創建Web頁面提供了一種模板機制
◆創建可重用的模板
◆動態構建和裝載頁面
◆定義可重用的Tiles組件
◆支持國際化
Tiles框架包含以下內容
◆Tiles標簽庫
◆Tiles組件的配置文件
◆TilesPlugIn插件
在開發Web站點時
采用基本的JSP語句創建復合式網頁
創建動態Web頁面的最基本的辦法是為每個頁面創建獨立的JSP文件
采用JSP的include指令創建復合式網頁
為了減少代碼的冗余
采用Tiles:Insert標簽創建復合式網頁
Tiles標簽庫的tiles:insert標簽和JSP include指令具有相同的功能
以下兩條語句的作用是相同的
< ?xml:namespace prefix = jsp />< jsp:include page=
< ?xml:namespace prefix = tiles />< tiles:insert page=
采用Tiles模板創建復合式網頁
盡管使用了tiles:insert標簽
< %@ taglib uri=
< tiles:insert attribute=
< tiles:insert attribute=
< tiles:insert attribute=
< tiles:insert attribute=
< %@ page contentType=
< %@ taglib uri=
< tiles:insert page=
< tiles:put value=
< tiles:put value=
< tiles:put value=
< tiles:put value=
< /tiles:insert>
采用Tiles模板機制
Tiles組件的基本使用方法
為了最大程度的提高代碼的可重用性和靈活性
Tiles框架允許在專門的XML文件中配置Tiles組件
< TILES
< DEFINITION name=
< put value=
< put value=
< put value=
< put value=
< /DEFINITION>
< /TILES
definition元素的name屬性指定Tiles組件的名字
例程
< ?xml version=
< TILES
< DEFINITION name=
<:put value=
<:put value=
<:put value=
<:put value=
< /DEFINITION>
< DEFINITION name=
< put value=
< put value=
< put value=
< put value=
< /DEFINITION>
< /TILES
以上代碼定義了兩個Tiles組件
(
< PLUG
< SET
< SET
< /PLUG
TilesPlugin插件用於加載Tiles組件的配置文件
◆definitions
◆definitions
(
為了保證在Web應用啟動時加載TilesPlugin插件
< SERVLET>
< SERVLET
< SERVLET
< INIT
< PARAM
< PARAM
< /INIT
< LOAD
< /SERVLET>
< SERVLET
< SERVLET
< URL
< /SERVLET
(
例程
< %@ page contentType=
< %@ taglib uri=
< tiles:insert definition=
例程
< CCID_NOBR>
bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
< CCID_CODE> < %@ page contentType="text/html; charset=UTF-8" %>
< %@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
< tiles:insert definition="product-definition">< /tiles:insert>
通過Struts Action來調用Tiles組件
如果Tiles組件代表完整的網頁,可以直接通過Struts Action來調用Tiles組件。tW.wiNgWIt.cOm例如,如果希望通過Struts Action來調用16.5.1節定義的名為"index-definition"的Tiles組件,可以在Struts配置文件中配置如下Action 映射:
< ACTION-MAPPINGS>
< ACTION path="/index" P <>
type="org.apache.struts.actions.ForwardAction"
parameter="index-definition">
< /ACTION>
< /ACTION-MAPPINGS>
接下來通過浏覽器訪問 ,該請求先被轉發到ForwardAction, ForwardAction再把請求轉發給名為"index-definition"的Tiles組件,最後在浏覽器端,用戶將看到和index.jsp 相同的頁面。
通過Struts Action來調用Tiles組件,可以充分發揮Struts框架負責流程控制的功能。此外,可以減少JSP文件的數目。例如,如果直接通過Struts Action來調用名為"index-definition"的Tiles組件,就不必再創建index.jsp文件。
解析Tiles組件的組合與擴展
Tiles 組件是一種可重用的組件。可以象搭積木一樣,把簡單的Tiles組件組裝成復雜的Tiles組件,例如,可以把名為"index-definition" 的Tiles組件的左邊部分拆分為獨立的Tiles組件,名為"sidebar-definition"。
< DEFINITION name="index-definition" path="/layout.jsp">
< put value="sidebar-definition" name="sidebar" type="definition">< /put>
……
< /DEFINITION>
以上put子元素的value屬性指定被包含的Tiles組件的名字,type屬性設為"definition",表示value屬性指定的是Tiles組件,而不是JSP文件。
< DEFINITION name="index-definition" extends="base-definition">
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28738.html