跳到內容

Java 程式設計/Struts/Struts 標籤庫

來自 Wikibooks,開放的書籍,為開放的世界

Struts 提供了一個 JSP 標籤庫,用於構建應用程式。

通用功能

[編輯 | 編輯原始碼]

所有 Struts 標籤都設計為接受通用屬性,並共享與環境互動的通用方法。這些屬性都引用儲存在頁面、請求、會話或應用程式物件中的鍵控 bean,使用每個物件的 setAttribute() 函式。四個最常見的特性是

屬性 屬性名
名稱 在其中查詢 bean 的鍵。
範圍 Scope 屬性標識在其中查詢鍵的上下文。如果範圍未定義,將按頁面、請求、會話,然後是應用程式的順序搜尋每個可用上下文。
id 此標籤在頁面上下文中建立的指令碼值的名稱。
屬性 指定要放置在頁面上下文中的 Java Bean 屬性。如果未指定,則 bean 本身將放置在頁面上下文中。

所有這些屬性,在適用的情況下,都以類似的方式使用,以簡化介面。

巢狀引用

[編輯 | 編輯原始碼]

Struts 標籤庫還提供了比新增到可用上下文中更深入的呼叫能力。例如,要訪問 bean a 中的 bean b,您將 name 屬性設定為“a”,property 屬性設定為“b”。但是,如果 b 具有包含另一個 bean(c)的屬性,您希望訪問該屬性,則 property 屬性可以設定為“b.c”。

此外,可以使用索引引用。如果 a 是 b 的陣列,則陣列的第二項可以使用 property 值“b[2]”引用。

總而言之

在 Struts 標籤中 用 java 表示
< ... name="a" property="b" > context.getAttribute("a").getB()
< ... name="a" property="b.c" > context.getAttribute("a").getB().getC()
< ... name="a" property="b[2]" > context.getAttribute("a").getB(2)
< ... name="puppy" property="cat.rabbit[8]" > context.getAttribute("puppy").getCat().getRabbit(8)

Bean 標籤

[編輯 | 編輯原始碼]

這些標籤都與 Java Beans 相關。它們用於建立和訪問使用 JavaBeans 標準的物件。由於 Struts 的設計旨在解耦邏輯和表示,因此這些標籤無法修改 bean。

Html 標籤

[編輯 | 編輯原始碼]

這些標籤建立 HTML 實體。它們用於避免使用指令碼程式來完成諸如預填充表單或確定連結目標之類的任務。

邏輯標籤

[編輯 | 編輯原始碼]

這些標籤用於文件內的控制流。if 結構、迭代和頁面重定向都包含在此名稱空間中。

巢狀標籤

[編輯 | 編輯原始碼]

進一步閱讀

[編輯 | 編輯原始碼]

更多 Struts 教程 : http://www.strutsmypassion.com

華夏公益教科書