首页 > 代码库 > struts2 常用标签的一般用法

struts2 常用标签的一般用法

1.<s:property/>标签
value 默认来自top of stack,默认的类型是Object

<s:property value="username"/><br/>取username(对象)的值,<s:property value="‘username‘"/><br/>显示一个字符串<s:property value="sefdsafa" default="我是默认值"/><br/>如果找不到指定一个默认值<s:property value="‘<hr/>‘" escape="false" /><br/>以html元素在页面显示

 


2.<s:set/>标签
scope存放的位置default value is Action(一般是名字太长换名用)

<s:set var="name" value="username" scope="action"></s:set>注:username是Object,如果设置一个字符串value="http://www.mamicode.com/‘username‘"<s:property value="#name"/><s:property value="#request.name" />(request也能取出)

3.<s:bean/>标签
创建一个User的实例赋值保存在Stack Context

<s:bean name="com.zr.struts2.domain.User" var="myUser">    <s:param name="username" value="‘zr‘" />    <s:param name="password" value="‘123‘" />    注:value不加单引号会默认成ogln表达式</s:bean>如果不指定var,bean标签开始时new一个User,压到栈顶,标签结束就从栈顶移走<s:bean name="com.zr.struts2.domain.User">    <s:param name="username" value="‘zr‘" />    <s:param name="password" value="‘123‘" />    <s:property value="username"/>    <s:debug></s:debug> (在bean标签中查看)</s:bean>


4.<s:include/>标签
    value表示一个字符串

 <s:include value="user_success.jsp" />        <s:set var="user_success" value="‘/user_success.jsp‘"></s:set>    <s:include value="%{#user_success}"></s:include>    注:%{}表示将文本解析为ognl表达式

    补充:$%#的区别
        1.$用于i18n和struts的配置文件,
        2.#取ActionContext的值
        3.%将文本解析为ognl表达式。对本来就是ongl的表达式不起作用


5.<s:if/><s:elseif/><s:else>标签

 <a href="/strurts2/tag/tag?username=u&password=p&age=10&age=20">测试</a>        取参数一定要取某一个具体的参数,同名参数可能有不同的值    <s:set var="age" value="#parameters.age[0]"/>(改名)    <s:property value="#age" />        <s:if test="#age >5">大于5 </s:if>    <s:elseif test="#age < 5 ">小于5</s:elseif>    <s:else>等于5</s:else>    <s:if test="#parameters.zr == null">没有zr参数</s:if>

6.<s:iterator/> 遍历元素
  

 <s:iterator value="{1,2,3}">        <s:property/>    </s:iterator>    结果:1 2 3    <br/>    <s:iterator value="{‘aa‘,‘bb‘,‘cc‘}" var="x">        <s:property value="#x.toUpperCase()" />    </s:iterator>    结果:AA BB CC    <s:iterator value="{‘aa‘,‘bb‘,‘cc‘}" status="status">        遍历过的元素总数<s:property value="#status.count" />        索引<s:property value="#status.index" />        是否为偶数<s:property value="#status.even" />        是否为奇数<s:property value="#status.odd" />        是不是第一个元素<s:property value="#status.first" />        是不是最后一个元素<s:property value="#status.last" /><br/>    </s:iterator>    结果:遍历过的元素总数1\ 索引0\ 是否为偶数false\ 是否为奇数true\ 是不是第一个元素true\ 是不是最后一个元素false          遍历过的元素总数2\ 索引1\ 是否为偶数true\ 是否为奇数false\ 是不是第一个元素false\ 是不是最后一个元素false          遍历过的元素总数3\ 索引2\ 是否为偶数false\ 是否为奇数true\ 是不是第一个元素false\ 是不是最后一个元素true    <s:iterator value="#{1:‘a‘, 2:‘b‘, 3:‘c‘}" >        <s:property value="key"/> |        <s:property value="value"/> <br />    </s:iterator>    结果:1 | a         2 | b         3 | c    <s:iterator value="#{1:‘a‘, 2:‘b‘, 3:‘c‘}" var="x">        <s:property value="#x.key"/> |        <s:property value="#x.value"/> <br />    </s:iterator>        结果:1 | a         2 | b         3 | c 

 



struts2 常用标签的一般用法