1.<s:property/>標籤
value 默認來自top of stack,默認的類型是Objecthtml
<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(通常是名字太長換名用)dom
<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 Contextjsp
<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>標籤spa
<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/> 遍歷元素
debug
<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