Struts2 資料標籤(常用)
property標籤
這些property標籤用於獲取一個值的屬性,如果沒有指定,它將預設為在值棧的頂部。引數
名稱 | 必填 | 預設 | 型別 | 描述 |
---|---|---|---|---|
default | false | String | 如果屬性是null則顯示的default值 | |
escape | false | true | Boolean | 是否escape HTML |
value | false | Object | value to be displayed | |
id | false | Object/String | 該元素標識 |
例子
<s:push value="myBean"> <!-- Example 1: --> <s:property value="myBeanProperty" /> <!-- Example 2: -->TextUtils <s:property value="myBeanProperty" default="a default value" /> </s:push>
Example 1 顯示出myBean’s getMyBeanProperty() 的執行結果. Example 2 顯示出myBean’s getMyBeanProperty() 的執行結果,如果是null,則顯示預設(default)值.
set標籤
1.這些set標籤為指定範圍內的變數賦值。當你希望將變數分配給複雜表示式,然後僅僅引用該變數而不是複雜表示式時,它是很有用的。可應用的範圍是應用程式,會話,請求,頁面和action。2.set標籤賦予變數一個特定範圍內的值. 當希望給一個變數賦一個複雜的表示式,每次訪問該變數而不是複雜的表示式時用到.其在兩種情況下非常有用: 複雜的表示式很耗時 (效能提升) 或者很難理解 (程式碼可讀性提高).
引數
名稱 | 必填 | 預設 | 型別 | 描述 |
---|---|---|---|---|
name | true | String | 變數的名字 | |
scope | false | action | String | 變數作用域,可以為application, session, request, page, 或action. |
value | false | Object/String | 將會賦給變數的值 | |
id | false | Object/String | 該元素標識 |
例子
<s:set name="myenv" value="environment.name"/>
<s:property value="myenv"/>
push標籤
這些push標籤用於推送堆疊中的值,以簡化使用。引數
名稱 | 必填 | 預設 | 型別 | 描述 |
---|---|---|---|---|
value | true | Object/String | 要push到堆疊中的值 | |
id | false | Object/String | 該元素標識 |
例子
<s:push value="user">
<s:propery value="firstName" />
<s:propery value="lastName" />
</s:push>
將user的值push到棧中,從而使property標籤的能夠獲取user的屬性(firstName, lastName etc)
<s:push value="myObject"> ----- (1)
<s:bean name="jp.SomeBean" id="myBean"/> ----- (2)
<s:param name="myParam" value="top"/> ----- (3)
</s:bean>
</s:push>
當在 (1) 時, myObject 在棧頂 當在 (2) 時, jp.SomeBean 在棧頂, 也在stack’s context中以myBean為鍵值存在 當在 (3) 時, top得到jp.SomeBean的例項
<s:push value="myObject"> ---(A)
<s:bean name="jp.SomeBean" id="myBean"/> ---(B)
<s:param name="myParam" value="top.mySomeOtherValue"/> ---(C)
</s:bean>
</s:push>
當在 (A) 時, myObject 在棧頂 當在 (B) 時, jp.SomeBean 在棧頂, 也在stack’s context中以myBean為鍵值存在 當在 © 時, top指向jp.SomeBean的例項.所以top.mySomeOtherValue呼叫SomeBean的 mySomeOtherValue() 方法
<s:push value="myObject"> ---- (i)
<s:bean name="jp.SomeBean" id="myBean"/> ---- (ii)
<s:param name="myParam" value="[1].top"/> -----(iii)
</s:bean>
</s:push>
當在 (i) 時, myObject 在棧頂 當在 (ii) 時, jp.SomeBean 在棧頂, 後面是myObject 當在 (iii) 時, [1].top返回myObject
param標籤
為其他標籤提供引數,比如include標籤和bean標籤. 引數的name屬性是可選的,如果提供,會呼叫Component的方法addParameter(String, Object),如果不提供,則外層巢狀標籤必須實現UnnamedParametric介面(如TextTag).該標籤的兩個屬性
name (String) - 引數名 value (Object) - 引數值 注意 : value的提供有兩種方式,通過value屬性或者標籤中間的text,不同之處我們看一下例子:
<param name="color">blue</param> <-- (A) -->
<param name="color" value="blue"/> <-- (B) -->
(A)中,引數值會以String的格式放入statck. (B)中該值會以java.lang.Object的格式放入statck. 引數
名稱 | 必填 | 預設 | 型別 | 描述 |
---|---|---|---|---|
name | false | String | 引數名 | |
value | false | 從stack中evaluated的值 | Object/String | value表示式 |
id | false | Object/String | 引用元素的id |
例子
<pre>
<ui:component>
<ui:param name="key" value="[0]"/>
<ui:param name="value" value="[1]"/>
<ui:param name="context" value="[2]"/>
</ui:component>
</pre>
這裡key作為識別符號,value在當前的OgnlValueStack上被當作一個OGNL的表示式來求值獲得結果.(原文:where the key will be the identifier and the value the result of an OGNL expression run against the current OgnlValueStack.)
寫到這裡小編寫不下去了,累T_T
date標籤
data標籤允許以快速簡單的方式格式化日期。使用者可以指定自定義日期格式(例如“dd/MM/yyyy hh:mm”),可以生成易讀的符號(例如“在2小時14分鐘內”),或者可以使用屬性檔案中的key:“struts.date.format”來回退到預定義的格式。引數 1、Name: 2、Nice: 指定是否輸出指定日期與當前時刻之間的時差。 可以設為true或者false,表示是否漂亮地顯示日期,如果設定為true,那麼將FORMAT屬性將不會生效 例項:http://blog.csdn.net/z69183787/article/details/20538473 3、Format (1)當nice="false"時,format屬性將起作用,如:“yyyy- MM-dd hh:mm:ss”,其中,y是年(year),M是月(Month),d是日(day),h是小時(hour,12小時制),H也是小 時(hour,24小時制),m是分鐘(minute),s是秒(second)。 (2)當format未設定時,將會使用預設的格式DateFormat.MEDIUM format
例子
<s:date name="person.birthday" format="dd/MM/yyyy" />
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />
debug標籤
url/param/a(重要~用來生成url連結的)引數
名稱 | 必填 | 預設 | 型別 | 描述 |
---|---|---|---|---|
id | string | FALSE |
action標籤
通過指定名稱空間和action名稱,該標籤允許你在jsp頁面直接呼叫Action. 標籤體用來渲染Action執行結果. 除非你設定了executeResult引數為true,否則你在xwork.xml中為該Action指定的Result Processor不會執行.引數
名稱 | 必填 | 預設 | 型別 | 描述 |
---|---|---|---|---|
id | false | String | 如果設定,將作為該Action在棧中的標識 | |
name | true | String | action名字(不包括字尾,如.action) | |
namespace | false | String | action所在名稱空間 | |
executeResult | false | false | Boolean | Action的result是否需要被執行 |
ignoreContextParams | false | false | Boolean | request中的引數是否需要傳入該Action |
例子
<div>Tag to execute the action</div>
<br />
<s:action name="actionTagAction" executeResult="true" />
<br />
<div>To invokes special method in action class</div>
<br />
<s:action name="actionTagAction!specialMethod" executeResult="true" />