struts2标签的用法

set标签

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

bean标签

实例化一个符合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

iterator标签

<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">

 

每个personid是从2开是 01 跳过去了 ,就是输出id246person的信息

 

<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"/>

 

使用ognl操作list和数组

<s:iterator value="{1,3,5}" value="iter">

       <s:property value="#iter"/>

</s:iterator>

 

使用ognl操作map

<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>

你可能感兴趣的:(struts2标签)