一、通用标签(常用)
property
property:<s:property value=“name” />
property取字符串:<s:property value="‘你好’" />
property设置默认值:<s:property value=“admin” default=“我” />
set
set设值(使用默认scop时,存在ActionContext和request中;id、name已废弃,现用var、value存储对象值;常用于换名以便利使用)
<s:set var=“username” value=“name”/>
<s:set var=“setStr” value="‘在这种’"/>
set设值后取值:<s:property value=“username” /> \ <s:property value=“setStr” />
set从request中取值(request中没看到,因为debug在值放入request前就形成了);<s:property value="#request.username" />
set从ActionContext中取值;<s:property value="#username" />
set在page中设值<s:set var=“usernum” value=“num” scope=“page” />
set从page取值:<%=pageContext.getAttribute(“usernum”) %>
set在session中设值<s:set var=“password” value=“num” scope=“session” />
set从session取值:<s:property value="#session.password"/>
bean
定义bean,用param设定新的属性值;必须定义var;
<s:bean name=“cn.lgh.Frient” var=“myDog” >
<s:param name=“name” value="‘狗子’" />
</s:bean>
访问bean:<s:property value="#myDog"/>
include
定义include(html不支持中文,可能跟jsp中有编码声明有关,不纠结这个,不用带中文的html即可):
<s:include value="/tags/include.html"></s:include>
定义include(jsp支持中文):
<s:include value="/tags/include.jsp"></s:include>
<s:set var=“include” value="’/tags/include.jsp’"></s:set>
%{}强制使其中内容被认为是ognl表法式而不是字符串:
<s:include value="%{#include}"></s:include>
二、控制标签(常用)
if elseif else
所有age:<s:property value="#parameters.age"/>
<s:if test="#parameters.age[0]>1">age大于1</s:if>
<s:elseif test="#parameters.age[0]<2">age小于2</s:elseif>
<s:else>age等于1</s:else>
iterator
<s:iterator value="{1,2,3}">
<s:property/>
</s:iterator>
<s:iterator value="{‘aaa’,‘bbb’,‘ccc’}" var=“r”>
<s:property value="#r.toUpperCase()"/>
</s:iterator>
<s:iterator value="{‘aaa’,‘bbb’,‘ccc’}" status=“s”>
遍历过的元素总数:<s:property value="#s.count"/> –
遍历过的元素索引:<s:property value="#s.index"/> –
当前索引为奇数?:<s:property value="#s.even"/> –
当前索引为偶数?:<s:property value="#s.odd"/> –
是第一个元素?:<s:property value="#s.first"/> –
是最后一个元素?:<s:property value="#s.last"/>
</s:iterator>
<s:iterator value="#{1:‘a’,2:‘b’,3:‘c’}">
<s:property value=“key”></s:property> |
<s:property value=“value”></s:property>
</s:iterator>
<s:iterator value="#{1:‘a’,2:‘b’,3:‘c’}" var=‘r’>
<s:property value="#r.key"></s:property> | <s:property value="#r.value"></s:property>
</s:iterator>
<s:iterator value="#{1:‘a’,2:‘b’,3:‘c’}" var=‘r’>
<s:if test="#r.key==2">2</s:if>
</s:iterator>