property:輸出指定屬性值
value=想要輸出的屬性名稱
<s:property value="property"/>
param:建立某參數
name=指定被設定的參數名
value=被設定參數的參數值,Object類型(字串:'String…')
id=引用該元素的id
<s:param name="user">test</s:param> //建立參數user="test";
<%User u = new User();request.serAttribute("test",u);%><s:param name="user" value="test"/> 建立參數user=Attribute中的test,即user=u;
<s:param name="user" valude="'test'"/>建立參數user="test";
bean:建立一個JavaBean執行個體
存在以下類:
public class Person{private String name;private int age;public String getName(){return name;}public int getAge{return age;}public void setName(String name){this.name=name;}public void setAge(int age){this.age=age;}}
調用方法如:
<s:bean name="Person" id="P"><s:param name="name" value="'Friskit'"/><s:param name="age" value="20"/></s:bean>姓名:<s:property value="#P.name"/>年齡:<s:property value="#P.age"/>
注意:為bean設定id標籤之後,該bean對象執行個體將會儲存在OgnlContext中而不是ValueStack中,所以訪問該對象時應該使用'#'
set:將某個值放入指定的範圍內
name=被放置變數的名稱
scope=有效範圍:application|session|request|page|action 若未指定,則放置在OgnlContext中,需要用'#'訪問
value=變數值,若未指定,則預設值為ValueStack
id:該元素的應用id
調用方法如:
<s:bean name="Person" id="p"><s:param name="name" value="'Friskit'"/><s:param name="age" value="20"/></s:bean><!--將原本放在OgnlContext中的p值放入預設範圍內(OgnlContext)--><s:set name="p1" value="#p"/>姓名:<s:property value="#p1.name"/>年齡:<s:property value="#p1.age"/><br><!--將原本放在OgnlContext中的p值放入application範圍內--><s:set name="p2" value="#p" scope="application"/>姓名:<s:property value="#application.p2.name"/>年齡:<s:property value="#application.p2.age"/><br><!--將原本放在OgnlContext中的p值放入session範圍內--><s:set name="p3" value="#p" scope="session"/>姓名:<s:property value="#session.p3.name"/>年齡:<s:property value="#session.p3.age"/>
include:包含一個jsp頁面或者servlet頁面
value=所包含內容的地址
id=鈣元素的應用id。
調用方法如:
<s:include value="file.jsp"/>
注,可為s:include設定多個param子標籤,用以向value所指地址傳遞參數
url:url產生器
action=指定目標action(可選)
value=指定目標地址(與action標籤二選一,若兩者皆無,則將當前頁面作為地址值)
includeParams=指定是否包含請求參數,可為none|get|all
scheme=設定scheme屬性
namespace=指定命名空間(只與action屬性一同使用時有效)
method=指定只用action中的方法
encode=指定是否需要對請求參數進行編碼
includeContext=指定是否要將當前上下文包含在URL中
anchor=指定URL的錨點
id=指定該url元素的id,使用該屬性時,產生的url不會在頁面上輸出,但是可以通過id引用。
escapeAmp=指定是否將特殊符號&解析成實體&
調用方法如:
<!--指定value屬性的形式,產生相對路徑--><br><s:url value="reg.action"/><!--指定value屬性的形式,產生絕對路徑--><br><s:url value="/reg.action"/><hr/><!--指定action屬性,並且使用param傳入參數--><s:url action="reg"><s:param name="method" value="'list'"/></s:url><!--指定action屬性,和namespace聯合使用--><br><s:url action="reg" namespace="/admin"><s:param name="method" value="'list'"/></s:url><hr/><!--action和value都不指定,並且使用param傳入參數--><s:url includeParams="get"><s:param name="userName" value="'Friskit'"/></s:url>
輸出內容如下:
reg.action /Struts2_Test/reg.action------------------------/Struts2_Test/reg.action?method=list /Struts2_Test/admin/reg.action?method=list------------------------/Struts2_Test/tagsTest.jsp?userName=Friskit