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="‘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
时间: 2024-10-05 23:26:57