在Struts中使用Tiles框架
這是Jakarta Struts程式設計一書中使用Tiles框架系列的第三部分,主要闡述瞭如何使用標記庫(包括:insert, definition, put, putList, add, get, getAsString, useAttribute, importAttribute, and initonent .
Tiles標記庫(The Tiles Tag Library)
這一部分介紹Tiles 框架使用的jsp自訂標記。表14-1列出了框架可用的標記 。這些標記與其他一些基於模板的框架所提供的標記是非常相似的,但是Tiles框架中蘊含著更豐富的功能。
表 14-1: Tiles框架標記庫中的標記
標記名(Tag name) 、 、 、 〜 〜 〜 、) 〜都 〜 、、)] 增加一個元素到環境清單中。
definition 建立一個Tiles元件定義。
Get 從請求作用域中得到內容(content),這個內容是put 標
記所置入的。
GetAsString 將tile/component/template屬性指定的值到目前的
JspWriter。
importAttribute 引入一個Tiles屬性到指定的上下文(context)中;
initComponentDefinitions 初始化一個Tiles定義工廠。
Insert 插入一個Tiles組件。
Put 設定一個屬性到一個Tiles上下文。
PutList 宣告一個列表,這個列表被傳遞為一個屬性。
useAttribute 在頁面中使用一個屬性值。
insert 標記
insert 標記是負責頁面中插入內容。在一個Tiles佈局中, insert標記使用屬性值指定的內容。在非Tile佈局中,insert標記是用來獲得一個框架(layout)並且使用put 標記把內容傳遞給佈局中。
表14-2列出insert 標記的屬性:
表14-2:insert 標記的屬性
屬性名(Attribute
屬性名(Attribute ) 》 〜 目前Tiles /元件上下文的屬性名稱,這個屬性值是由name 屬性來傳遞的。
beanName Bean 的名稱作為值來使用.Bean是從指定的內容中獲得。
假如有的話,Bean可以從指定的上下文中獲得。否則就得使用pageContext.findAttribute( ) 方法取得。 假如beanPRoperty 屬性已經指定,也可以從對應Bean屬性得到這個值 。
假如,這個Bean(或Bean的屬性值)是某個屬性類別(Direct, Instance,等等)的實例, 那麼插入過程要依照類別的類型而定。另外,呼叫Bean 的toString( ) 方法,並傳回值為String,並傳給name屬性。
beanProperty Bean 屬性(property)的名字,假如指定,那麼這個值從
Bean的屬性(property)中獲得.
beanScope 〔〔),假如的作用範圍。 Bean的範圍可以是任何的JSP, 元件(component),或是模板(template)。在後兩者情況(組件,模板),bean 可以在Tiles (tile)/組件(component)/模板(template)內容中
component 一個描述tile 或模板(template)URI的字符串. 模板(template),頁(page)和元件(component)屬性必須有嚴格相同的行為
controllerUrl 在頁被插入前,控制器(controller)的直接URI 。 這個URI通常用來指示一個strUCt action. 這個控制器(action) 是用來為inserted tile 預備資料的。只能有 一個controllerUrl 或 controllerClass
controllerClass 頁面(page)被插入前,直接呼叫的一種控制(control)類別的類型。這個類別是用來為inserted tile 預備資料的。只能有 一個controllerUrl 或 controllerClass 。這個類別實作或擴充下列類別之一:org.apache.struts.tiles.Controller, org.apache.struts.tiles.ControllerSupport,或org.apache.struts.action.Action.
definition Insert定義的名稱。定義在一個集中的文件中被定義。現在,僅僅一個工廠(factory)的定義可以用這個屬性插入。插入一個用definition定義的定義,用beanName="".
flush true 或false. 假如true, 當前頁會在tile insertion.前輸出流
ignore name 這個屬性而存在的屬性所存在的屬性而存在的屬性,只是會回傳一個什麼都沒有寫得結果。初始值設定為false,可以拋出一個 runtime exception
name 一個要被插入得實體(entity)的名字。找出依照下面的順序 definition, attribute, 然後 page.
page 一個表示tile 或 template 的URI字串。 template,page, 和 component 屬性要嚴格的有同樣的行為
role 假如使用者是指定的角色,那麼這個標記才會起作用,否則,這個標記會被忽略掉,並且不會寫出任何內容。
template 一個表示tile 或 template 的URI字串。 template,page, 和 component 屬性要嚴格的有同樣的行為
definition 標籤
definition 標籤用bean的定義方法創建一個tile (template),這個新創建的bean在輸出 scoperequested scoperequested。 definition 標籤的有些語法和insert 一樣。新的定義可以擴充在definition factory (xml file)中已經描述過的定義,並且可以重載先前定義的參數。
Table 14-3 列出了definition 標籤支援的屬性
屬性名 描述
extends 可以用來擴展在父定義的父定義了這個父定義。
id 定義bean的名稱,這個屬性是必需的
page 要插入template/component 的URL 。和template.一樣。
role 在插入一個定義前,進行檢查role.假如當前用戶並沒有定義這個role,那麼這個定義將不會被插入。再插入的時候進行檢查,而不是在定義的時候。
scope 在新定義bean 的時候被創建。假如沒有指定,預設值是page scope.
template tile/component/template (a JSP page)的URL .
下面的片段展示瞭如何在JSP中使用definition標籤。
page="/layouts/storefrontDefaultLayout.jsp"
scope="request">
/tiles:definition>
一個完整的例子將在這章後面的"Declaring Definitions in a JSP Page" 中展示
put 標籤🎀 標籤用一個組件發送到組件。 這個標籤只能在insert 或 definition 標籤內部使用。 put標籤的值被value 屬性或標籤體指定。也經常被指定值得類型。
string: 文如其名
page 或template: 內容包含指定的URL. 名字通常以URL用.
definition: 內容從指定(from factory)的定義獲得. 名字以已定義的名字使用。假如type 已經使用, 他就會被get 或insert 標籤插入到tile. 假如type 屬性沒有被指定,則內容是不確定的untyped,除非它來自一個typed bean.
提示: Setting direct="true" 與setting type="string" 是相同的.
Table 14-4 列出了put 標籤的屬性。
屬性名 描述
beanName Bean 的名稱,和值(value)的使用方法一樣.Bean是從非凡的內容中獲得。如果有的話,還可以用pageContext.findAttribute( ) 方法來取得。 假如beanProperty 屬性已經指定,可以從對應Bean屬性取得這個值 。
beanProperty Bean 屬性(property)的名字,假如指定,那麼這個值從Bean的屬性(property)中得到.
beanScope Bean的作用範圍,假如沒有指定,pageScope Bean的作用範圍,假如沒有指定,pageScope Bean的作用範圍,假如沒有使用,page Bean的範圍可以是任何的JSP, 元件(component),或是模板(template)。在後兩者情況(組件,模板),bean 可以在 Tiles (tile)/組件(component)/模板(template) 內容中
content Content 在tile 範圍內。 屬性相當於value 屬性,增加是為了於JSP template tags 相容。 .
Direct Content的控制方法: true表示Content直接顯示; false意味著content 被包含。 false 是預設值。也是指定content 型別的一種方法。假如 direct="true", content是 "string"; 假如 direct="false", content 是 "page".增加這個屬性是為了於JSP template tags 相容。 .
Name 屬性的名稱(name).
Role 假如使用者是指定的角色,那麼這個標記才會起作用,否則,這個標記會被忽略掉,並且不會寫出任何內容。
Type content 的型別(type)。有效值是"string", "page", "template", 或 "definition".
value 屬性的值,可以是String 或 Object. 值是直接被指派的。 (value="avalue") 或從一個bean 獲得。一個value, content, 或 beanName 一定存在。
putList 標籤
putList 標籤建立一個list,在 tile 中以值傳遞。 list 元素用add 標籤增加。這個標籤只能在insert 或definition 標籤中使用。
Table 14-5 列出putList 標籤的屬性。
屬性名 描述
Name List 的名稱。這個屬性是被要求的。
add 標籤
add 標籤是增加一個element 到四周的list 中。這個標籤只能在putList 標籤中使用。這個值可以直接被指派。 (value="avalue") 或從一個bean中獲得。 一個value 或beanName 必須被指定。
Table 14-6 列出 add 標籤的屬性。
屬性名 描述
beanName Bean 的名稱,和值(value)的使用方法是使用非凡的內容。假如有的話,還可以用pageContext.find
以上就是在Struts中使用Tiles框架的內容,更多相關文章請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Struts框架的原理解析與實務探索Struts框架作為JavaWeb開發中常用的MVC框架,具有良好的設計模式和可擴展性,廣泛應用於企業級應用程式開發中。本文將對Struts框架的原理進行解析,並結合實際程式碼範例進行探索,幫助讀者更好地理解和應用該框架。一、Struts框架的原理解析1.MVC架構Struts框架是基於MVC(Model-View-Con

探秘Struts2框架的內部機制Struts2是一個流行的JavaWeb應用程式框架,被廣泛應用於開發基於MVC架構的Web應用程式。它在基於Struts1的基礎上進行了大量的改進和優化,提供了更強大、更靈活的功能。在深入探索Struts2框架的內部機制之前,我們需要先了解一些基本概念。 Struts2框架的核心是MVC(Model-View-Controlle

隨著網路和智慧型行動裝置的普及,Web應用程式的開發日趨重要。而Java作為一種優秀的跨平台程式語言,受到了開發者們的青睞。在Java後端開發中,使用MVC框架可以幫助我們提高開發效率、降低開發成本。本文將介紹使用JavaApacheStruts進行API的MVC框架開發。一、MVC框架MVC(Model-View-Contro

struts框架的原理:透過採用Java Servlet/JSP技術,實現了基於Java EE Web應用的MVC設計模式的應用框架,它透過採用一個或多個Action類別來處理使用者請求,並將結果傳回給使用者。 struts框架的應用:1、建構Web應用程式;2、處理表單資料;3、整合第三方函式庫;4、實現國際化;5、建構RESTful API。

Struts2框架實作原理的詳細解析Struts2框架作為一個廣泛應用的JavaWeb應用框架,其優秀的設計和效能使得它成為開發者喜愛使用的工具。了解Struts2框架的實現原理,對於提升開發者對框架的理解與應用程度具有重要意義。本文將透過詳細解析Struts2框架的實作原理,並提供具體的程式碼範例,幫助讀者更深入地了解這個框架。一、Struts2框架簡

Java語言中的Struts框架介紹隨著Web應用程式的逐漸普及,例如Web網站和企業應用系統,JavaEE(EnterpriseEdition)架構也逐漸成為了一個主流的選擇。在JavaEE架構中,由於MVC(Model-View-Controller)設計模式的流行,Struts框架成為了大家常使用的Web應用程式框架之一。在本文中,我們將深入探

深入解析Struts2框架的工作原理Struts2是一個優秀的JavaWeb應用開發框架,其提供了基於MVC(Model-View-Controller)模式的開發方式,幫助開發人員更快速地建立和維護Web應用程式。理解Struts2框架的工作原理對於開發人員來說是非常重要的,本文將透過詳細的解析和具體的程式碼範例,幫助讀者深入了解Struts2框架的工作原

Struts框架是一個基於Java的開源Web應用程式框架,它遵循Model-View-Controller(MVC)設計模式,旨在簡化Web應用程式的開發過程。本文將對Struts框架的核心原理進行解析,並提供最佳實務指南,同時會配以具體的程式碼範例。一、Struts框架的核心原理1.MVC設計模式Struts框架採用MVC設計模式,將應用程式分為三個部分
