1. 程式人生 > >struts2標籤庫詳解

struts2標籤庫詳解

要在jsp中使用Struts2的標誌,先要指明標誌的引入。通過jsp的程式碼的頂部加入以下的程式碼:

<%@taglib prefix="s" uri="/struts-tags" %>

If elseif  else

描述:

執行基本的條件流轉。

引數:

名稱

必需

預設

型別

描述

備註

test

boolean

決定標誌裡的內容是否顯示的表示式

else標誌沒有這個引數

id

Object/String

用來標識元素的id。在UI和表單中為HTML的id屬性

例子:

[xml] view plain copy  print?
  1. <s:setname="age"value="61"/>
  2. <s:iftest="${age > 60}">
  3. 老年人  
  4. </s:if>
  5. <s:elseiftest="${age > 35}">
  6. 中年人  
  7. </s:elseif>
  8. <s:elseiftest="${age > 15}"id="wawa">
  9. 青年人  
  10. </s:elseif>
  11. <s:else>
  12. 少年  
  13. </s:else>
  14. <s:setname="name"value="<%="'"+ request.getParameter("name")+"'" %>"/>
  15. <%  
  16. System.out.println(request.getParameter("name"));  
  17. %>
  18. <s:iftest="#name=='zhaosoft'">
  19. zhaosoft here  
  20. </s:if>
  21. <s:elseiftest="#name=='zxl'">
  22. zxl here  
  23. </s:elseif>
  24. <s:else>
  25. other is here  
  26. </s:else>

Iterator(迭代)

描述:用於遍歷集合(Java.util.Collection)或列舉值(java.util.iterator)

引數

名稱

必需

預設

型別

描述

status

String

如果設定此引數,一個IteratorStatus的例項將會壓入每一個遍歷的堆疊

value

Object/String

要遍歷的可列舉的(iteratable)資料來源,或者將放入的新列表(List)的對想

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

I18n(國際化操作)

描述:

載入資源包到值堆疊。它可以允許text標誌訪問任何資源包的資訊。而不只當前的action相關聯的資源包。

名稱

必需

預設

型別

描述

name

Object/String

資源包的類路徑(如com.xxxx.resources.AppMsg)

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

Include

描述:包含一個servlet的輸出(servlet或jsp的頁面)

名稱

必需

預設

型別

描述

value

String

要包含的jsp頁面或servlet

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

param

描述:屬性是可選的,如果提供,會呼叫Component的方法,addParameter(String,Object),如果不提供,則外層巢狀標籤必須實現UnnamedParametric介面。

Value的提供有兩種方式,通過value屬性或者標籤中間的text,不同之處:

<s:param name="name">zhaosoft</s:param>

引數會以String的格式放入statck

<s:param name="name" value="zhaosoft"/>

該值會以java.lang.Object的格式放入statck

名稱

必需

預設

型別

描述

name

String

引數名

value

String

value表示式

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

set

描述:set標籤賦予變數一個特定範圍內的值。當希望給一個變數賦一個複雜的表示式,每次訪問該變數而不是複雜的表示式時用到。其在兩種情況下非常有用:複雜的表示式很耗時(效能提升)或者很難理解(程式碼的可讀性提高)

引數:

名稱

必需

預設

型別

描述

name

String

變數名字

scope

String

變數作用域,可以為application,session,request,page,action

value

Object/String

將會賦給變數的值

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

Text

描述:支援國際化資訊的標籤。國際化資訊必須放在一個和當前action同名的resource bundle中,如果沒有找到相應message,tag body將被當作預設的message,如果沒有tag body,message的name會被作為預設message.

名稱

必需

預設

型別

描述

name

String

資源屬性的名字

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

url

描述:該標籤用於建立url,可以通過”param”標籤提供request引數。

當includeParams的值是all或get,param標籤中定義的引數將有優先權,也就是說其會覆蓋其他同名引數的值。

UI標誌

單行文字框

Textfield標籤輸出一個HTML單行文字輸入控制元件,等價於HTML程式碼<input type=”text”>

名稱

必需

預設

型別

描述

maxlength

Integer

文字輸入控制元件可以輸入字元的最大長度

readonly

false

Boolean

當該屬性為true時,不能輸入

size

Integer

指定可視尺寸

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

例子:

<s:form action="register" method="post">

    <s:textfield name="username" label="使用者名稱"></s:textfield>

</s:form>

文字框區

Textarea標籤輸出一個HTML多行文字輸入控制元件,等價於HTML程式碼:<textarea />

名稱

必需

預設

型別

描述

cols

Integer

列數

rows

Integer

行數

readonly

false

Boolean

當該屬性為true時,不能輸入

wrap

false

Boolean

指定多行文字輸入控制元件是否應該換行

id

Object/String

用來標識元素的id。在ui和表單中為HTML的id屬性

例子:

<s:textarea name="personal" cols="10" rows="5" label="個人簡歷"></s:textarea>

下拉列表

s:select 標籤輸出一個下拉列表框,相當於HTML程式碼中的<select/>

名稱

必需

預設

型別

描述

list

Cellection Map Enumeration Iterator array

要迭代的集合,使用集合中的元素來設定各個選項,如果list的屬性為Map則Map的key成為選項的value,Map的value會成為選項的內容

listKey

String

指定集合物件中的哪個屬性作為選項的value

listValue

String

指定集合物件中的哪個屬性作為選項的內容

headerKey

String

設定當用戶選擇了header選項時,提交的的value,如果使用該屬性,不能為該屬性設定

空值

headerValue

String

顯示在頁面中header選項內容

emptyOption

false

Boolean

是否在header選項後面新增一個空選項

mul