1. 程式人生 > >struts2 s標籤 s:set 和 s:if

struts2 s標籤 s:set 和 s:if

set標籤是將某個值放到指定範圍內, 比如說 student.teacher.parent.age 每次訪問這個屬性不僅效能低,而且程式碼可讀性很差,為了解決這個問題,可以將這個值設定為一個新值,並且放入指定範圍內
name 是必填屬性,是重新生成的新變數的名字
scope 可選屬性,指定新變數被放置的範圍,可以接受application,session,request,page,action 這5個值 沒有指定預設是Stack Context中
value 可選屬性,指定變數的值 如果沒有指定,使用ValueStack棧頂的值賦給新變數
id 可選屬性,指定新元素的引用ID

下面是個例子:

<!-- 使用bean標籤定義一個javaBean例項--!>
<s:bean name="lee.Person" id="p">
<s:param name="name" value="zhangsan"/>
<s:param name="age" value="29"/>
</s:bean>
將p放入預設範圍內
<s:set value="#p" name="test"/>
<s:property value="#test.name"/> <br>
<s:property value="#test.age"/> <br>
將p放入application範圍內。
<s:set value="#p" name="test" scope="application"/>
<s:property value="#attr.test.name"/> <br>
<s:property value="#attr.test.age"/> <br>
將p放入session範圍內。
<s:set value="#p" name="test" scope="session"/>
${sessionScope.test.name} <br>
${sessionScope.test.age} <br>