Tiles 2.x 應用指南

Jakarta Tiles是一個用於在模板中對頁面進行佈局的框架。Tiles產生之初是Struts架構的一部分,後來Tiles獨立出來常與Spring架構配合,本文描述了獨立於其它架構而在原始WEB應用中使用Tiles的方法。

基本用法

設置Tiles元素 - 核心配置文件的書寫方法

Tiles核心配置文件格式爲xml,文檔類型爲tiles-definitions。要在每一個配置文件的開頭加入下述說明:

<!DOCTYPE tiles-definitions PUBLIC
  "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
  "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

 Tiles中的基本元素有三種:定義、模板和屬性。Tiles核心配置文件(tiles-definitions)中的基本單元是“definition”。一個“definition”必須與一個“template” 相對應。“template”是一個URI、通常情況下指的是一個JSP頁面。一個“definition”可以包含多個“attribute”,一個attribute可以是一個字符串、可以是一個定義的名字、也可以是一個模板。
可以使用定義描述一個帶有名字的模板。下例定義了一個沒有屬性的模板:

模板可以包含一個或多個屬性,屬性可以是一個字符串,或者是一個定義的名字,或者是一個模板。下例定義了一個包含屬性的模板:


定義可以被繼承,繼承之後的定義屬性可以改變,模板不可以改變。下例定義了一個具有繼承關係的模板:

 

讀取Tiles元素 - JSP頁面上的處理方法

要想在JSP頁面上使用Tiles標籤,首先要引入標籤庫。

 

在JSP頁面上插入一個模板的基本標籤是<tiles:insertTemplate />,如下例:

 

如果插入的模板包含屬性,則在插入模板的同時,必須使用<tiles:putAttribute />標籤爲其指定屬性值:

 

插入一個定義的基本標籤是<tiles:insertDefinition />,如下例:

 

在模板中可以指定屬性的位置。設置一個屬性的基本標籤有兩種,如果屬性被指定爲定義或模板,則使用<tiles:insertAttribute />標籤;如果屬性被指定爲字符串,則使用<tiles:getAsString />標籤。如:

 

Tiles架構在各個領域中的應用

在Web應用中直接使用Tiles架構

在web.xml中加入下述servlet即可實現在Web應用中直接使用Tiles架構的目的。


TilesServlet默認查找“/WEB-INF/tiles.xml”作爲Tiles核心配置文件,如果要手動指定Tiles核心配置文件的位置,可以爲Servlet設置名爲“definitions-config”的初始化參數值,樣例如下:


在傳統Servlet中利用TilesServlet加載的Tiles定義(definition)可以使用TilesContainer的render方法實現轉向到Tiles定義。代碼如下:

  

 

更多內容

關於Tiles的更多內容,如

  • List Attributes

請參考Tiles官方網站:http://tiles.apache.org

 

Tiles 知識要點

Tiles中的三大元素:定義、模板、屬性
template = URI{1}
definition = template{1} + attribute*
attribute = STRING{1} | definition{1} | template {1}

 

Tiles核心配置文件

<!DOCTYPE tiles-definitions PUBLIC
  "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
  "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 

 

引入Tiles標籤庫

 

在Web應用中使用直接Tiles架構
在web.xml中關於Tiles架構的定義

 

資源
http://tiles.apache.org/

JAR包
Tiles開發包
tiles-core-2.0.3.jar
tiles-api-2.0.3.jar
tiles-jsp-2.0.3.jar

Tiles所依賴的開發包
commons-beanutils-1.7.0.jar
commons-digester-1.8.jar
commons-logging-api-1.1.jar

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章