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

来源:互联网 发布:宾馆307网络歌手 编辑:程序博客网 时间:2024/05/22 16:42

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

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

<s:if test="表达式">
语句1...
</s:if>
<s:elseif test="表达式">
语句2...
</s:elseif>
<s:else>
语句3...
</s:else>
(2)、给大家一个demo看看
<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)语法格式如下:

        <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

原创粉丝点击