set标签 用户将某个值 放入到指定的范围
<s:set value="#request.msgxxx" var="xxx">
<s:property value="#xxx">
</s:set>
解释set标签,通过这个ognl表达式#request.msgxxx把值取出来
使用var关键字,在把这个值放入到map栈中,给值起个名字,也就是key是“xxx”,所以我在取
值的时候用<s:property value="#xxx">
值栈中的表现是
键是xxx 值是 msgxxx_request
----------------------------------------------------------------------------------------------
push标签
push标签把对象放如到栈顶,不能放入到其他范围,当标签结束时,对象从栈顶删除。
<s:push value="#request.msgxxx">
<s:debug></s:debug>
输出栈顶的值<s:property/>
</s:push>
root栈中的表现
Object Property Name Property Value
java.lang.String bytes [B@1b6c315
实例化一个符合JavaBean规范的Class,标签体内可以包含几个param元素
用户调用setter方法给这个Class实例的属性赋值
name:实例化的Class的名字
var:会把对象放到栈顶
<s:bean name="cn.xiaoxian.Person" var="myperson">
Person实例被bean标签放到栈顶然后用栈顶的方式赋值 value默认的把值放到是栈顶
<s:param name="id" value="1"></s:param>
<s:param name="name" value="%{'zhangsan'}"></s:param>
<s:param name="age" value="25"></s:param>
</s:bean>
bean标签结束,实例就会从栈顶删除,使用var把对象放到map栈中,然后取值
<s:property value="#myperson.id"/>
<s:property value="#myperson.name"/>
<s:property value="#myperson.age"/>
值栈root栈
Object Property Name Property Value
cn.xiaoxian.Person id 1
name zhangsan
age 25
<s:iterator value="personList" var="per">
1. 不使用per
因为personList里边放的是Person对象,每次遍历的时候 都把对象放到栈顶
所以 当遍历到一个Person的时候,我们可以直接取他的属性值
<s:property value="id"/>
<s:property value="name"/>
<s:property value="age"/>
2.利用每个Person对象名per
<s:property value="#per.id"/>
<s:iterator value="personList" var="per" begin="2" end="6" step="2">
每个person的id是从2开是 把0,1 跳过去了 ,就是输出id是2,4,6的person的信息
<s:iterator value="personList" var="per" status="st">
st被放到map中了 对应的是一个对象 这个对象有odd.even,和last等属性
所以 我们可以通过 #st得到这个对象,进而获取他的属性
<s:property value="#st.last"/>
<s:property value="#st.odd"/>
<s:property value="#st.even"/>
<s:iterator value="{1,3,5}" value="iter">
<s:property value="#iter"/>
</s:iterator>
<s:iterator value="{'key01':'value01','key02':'value02'}" >
<s:property value="key"/>---<s:property value="value"/><br>
</s:iterator>
-----------------------------------------------
<s:iterator value="{'key01':'value01','key02':'value02'}" >
<s:property /><br>
</s:iterator>
----------------------------------------------
<s:iterator value="{'key01':'value01','key02':'value02'}" var="map" >
<s:property value="#map.key"/>---<s:property value="#map.value"/><br>
</s:iterator>