首先,我们先来看看s:if标签的小结
(1)、s:if标签是Struts2框架中的控制标签,就是Java中if…else if…else…具有一样的功能,完整格式如下
语句1...
</s:if>
<s:elseif test="表达式">
语句2...
</s:elseif>
<s:else>
语句3...
</s:else>
<body>
<h1>s:if标签的用法</h1>
<s:set name="price" value="25"></s:set>
价格:<s:property value="#price"/>
<p>
<s:if test="#price > 20">
定义的变量price的值是大于20
</s:if>
<p>
<s:elseif test="#price < 20">
定义的变量price的值是小于20
</s:elseif>
<p>
<s:else>定义的变量price的值等于20</s:else>
<p>
<p>
<s:set name="str" value="'新年快乐'"></s:set>
字符串:<s:property value="#str"/>
<p>
<s:if test="%{#str == '新年快乐'}">
祝大家2012年,<s:property value="#str"/>
</s:if>
<p>
</body>
(1)语法格式如下:
<s:set name="xxx" value="表达式|值" scope="session|request|application|page|默认"/>
(2)s:set标签的常见用法如下
用法①:
<s:set name="miloList" value="{‘java’,’php’,’C#’}"/>
这个值是一个list容器,迭代使用s:iterator标签,Notice:list、set容器不加”#”,map要加”#”;
用法②:
<s:set name="miloNum" value="24"/>
注意:这个是整型,如果value的值是int或long类型,那么就要在输出的时候加#
输出:
<s:property value="#miloNum"/>
那么如果value是字符串呢?
<s:set name="miloStr" value="’24’"/>
注意:这个是字符串,value中的字符串要加上单引号(‘),这样才说明是字符串。
输出:
<s:property value="miloStr"/>
用法③:用scope属性说明存储范围
request:
<s:set name="miloVal" value="'24'" scope="request"/>
输出:
<s:property value="#request.miloVal"/>
session:
<s:set name="miloVal" value="'24'" scope="session"/>
输出:
<s:property value="#session.miloVal"/>
page:
<s:set name="miloVal" value="'24'" scope="page"/>
输出:
<s:property value="#attr.minVal"/>
相关文章,请参考如下:
1、strut2中利用s:set标签存储字符串常量,http://www.javait.org/?p=794
2、如何解决s:fielderror输出指定错误信息,而不是输出全部错误信息,http://www.javait.org/?p=786