首頁 Java java教程 在Struts中使用Tiles框架

在Struts中使用Tiles框架

Dec 17, 2016 am 10:50 AM


  這是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標籤。
  
    id="storefront.default"
  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)! 


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1252
24
深入探討Struts框架的原理與實踐 深入探討Struts框架的原理與實踐 Feb 18, 2024 pm 06:10 PM

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

解析Struts2框架的工作原理 解析Struts2框架的工作原理 Jan 05, 2024 am 08:29 AM

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

Java後端開發:使用Java Apache Struts進行API MVC框架開發 Java後端開發:使用Java Apache Struts進行API MVC框架開發 Jun 17, 2023 am 10:03 AM

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

struts框架的原理與應用有哪些 struts框架的原理與應用有哪些 Jan 03, 2024 pm 05:31 PM

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

Struts2框架實作原理的詳細解析 Struts2框架實作原理的詳細解析 Feb 21, 2024 pm 05:54 PM

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

Java語言中的Struts框架介紹 Java語言中的Struts框架介紹 Jun 10, 2023 pm 08:00 PM

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

深入剖析Struts2框架的運作機制 深入剖析Struts2框架的運作機制 Jan 05, 2024 pm 03:36 PM

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

深入探討Struts框架的核心原理與最佳實踐 深入探討Struts框架的核心原理與最佳實踐 Feb 18, 2024 pm 06:37 PM

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

See all articles