Struts2框架中s:if标签和s:set标签小结

版权:JavaIT学习室
转载请标明,http://www.javait.org

最近发表了几篇文章都是对在使用Struts2框架中的标签进行一些知识点的归纳。今天这篇文章是对s:if标签和s:set标签进行归纳小结。

首先,我们先来看看s:if标签的小结

(1)、s:if标签是Struts2框架中的控制标签,就是Java中if…else if…else…具有一样的功能,完整格式如下

1
2
3
4
5
6
7
8
9
<s:if test="表达式">
语句1...
</s:if>
<s:elseif test="表达式">
语句2...
</s:elseif>
<s:else>
语句3...
</s:else>

(2)、给大家一个demo看看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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>

s:set标签是Struts2框架中的数据标签,它主要是用于在JSP页面上定义一个变量,并对变量进行赋值。

(1)语法格式如下:

1
<s:set name="xxx" value="表达式|值" scope="session|request|application|page|默认"/>

(2)s:set标签的常见用法如下

用法①:

1
<s:set name="miloList" value="{‘java’,’php’,’C#’}"/>

这个值是一个list容器,迭代使用s:iterator标签,Notice:list、set容器不加”#”,map要加”#”;

用法②:

1
<s:set name="miloNum" value="24"/>

注意:这个是整型,如果value的值是int或long类型,那么就要在输出的时候加#

输出:

1
<s:property value="#miloNum"/>

那么如果value是字符串呢?

1
<s:set name="miloStr" value="’24’"/>

注意:这个是字符串,value中的字符串要加上单引号(‘),这样才说明是字符串。

输出:

1
<s:property value="miloStr"/>

用法③:用scope属性说明存储范围

request:

1
<s:set name="miloVal" value="'24'" scope="request"/>

输出:

1
<s:property value="#request.miloVal"/>

session:

1
<s:set name="miloVal" value="'24'" scope="session"/>

输出:

1
<s:property value="#session.miloVal"/>

page:

1
<s:set name="miloVal" value="'24'" scope="page"/>

输出:

1
<s:property value="#attr.minVal"/>

相关文章,请参考如下:
1、strut2中利用s:set标签存储字符串常量,http://www.javait.org/?p=794
2、如何解决s:fielderror输出指定错误信息,而不是输出全部错误信息,http://www.javait.org/?p=786

原文地址:https://www.cnblogs.com/firstdream/p/2395776.html