`

struts2标签介绍

 
阅读更多

关于struts2的标签,可以大致分为条件,迭代,UI标签这几类,由于struts2结合了ognl表达式,从而增添了struts2标

 

签使用的灵活性。

 

 

 

struts2 条件表达式 <s:if> ,<s:elseif>,<s:else>

 

eg:  <s:set name="age" value="70"/>

 

<s:if test="${age > 60}">
    老年人
</s:if>
<s:elseif test="${age > 35}">
    中年人
</s:elseif>
<s:elseif test="${age > 15}" id="wawa">
    青年人
</s:elseif>
<s:else>
    少年
</s:else>

 

 

如果是从request对象中获取变量值,可以采用表达式。

<s:set name="name" value="<%="'"+ request.getParameter("name")+"'" %>"/>

 

<s:if test="#name==zhangsan">
  zhangsan here
</s:if>
<s:elseif test="#name=='lisi'">
  lisi here
</s:elseif>
<s:else>
  other is here
</s:else>

 

 

2.struts2迭代标签

 

 s:iterator 标签有3个属性:


     value:被迭代的集合。


     id  :指定集合里面的元素的id。


     status :迭代元素的索引。

 

 

eg: <s:iterator value="{'1','2','3','4','5'}" id='number'>
          <s:property value='number'/>A
       </s:iterator>

 

 

 索引使用

 

int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
eg: <s:iterator value="{'a','b','c'}" id='char' status='st'>
     <s:if test="#st.Even">
         现在的索引是奇数为:<s:property value='#st.index'/>
     </s:if>
     当前元素值:<s:property value='char'/>
 </s:iterator>

 

遍历map集合

 

<s:iterator value="map" id="id" status="st">
      key : <s:property value='key'/>
      value:<s:property vlaue='value'/>
</s:iterator>

 

key 和value 都可以使java 的 Object

 

 

struts中的UI标签包含了许多,例如<s:form>,<s:select>,<s:radio>,<s:checkbox>等等。

 

这里介绍几个比较常用的

 

<s:select>

 

<s:select> 该标签包含的属性如下:

 

 list : 需要迭代的集合,使用集合中元素来设置各个项,如果list属性为map,则map的key成为项的value,map中的v

 

value会成为项的内容。

 

 

listkey  : 指定集合对象中的哪个属性项为项的value。

 

 

listValue : 指定集合对象中的哪个属性作为项的内容。

 

 

headerKey : 设置当用户择了header项时,提交的的value,如果使用该属性,不能为该属性设置空值。

 

emptyOption :是否在header项后面添加一个空选项。

 

multiple :   是否多选。

 

size :  显示的项个数。

 

eg : <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"
       headerKey="-1" headerValue="请择您的学历"
       emptyOption="true"/>

 

使用多选的实例

 

eg : <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"
       headerKey="-1" headerValue="请择您的学历"
       emptyOption="true"
       multiple="true" size="8"/>

 

 

利用Action实例属性

eg:

<s:select label="最高学历" name="education" list="educations"
       listKey="id" listValue="name"/>

 

 

<s:doubleselect>多选标签

doubleselect标签输出关联的两个HTML列表框,产生联动效果。

 

eg :

<s:doubleselect label="请选择所在省市" doubleList="top=='四川省'?{'成都市','绵阳市'}:{'济南市','青岛市'}" list="{'四川省','山东省'}" doubleName="city"></s:doubleselect>

 

详细的使用该标签,可以参考博客:http://blog.csdn.net/zq9017197/article/details/5955945。

 

 

复选框

 

<s:checkboxlist >

 

常用属性说明:

 

list :要迭代的集合,使用集合中的元素来设置各个项,如果list的属性为Map则Map的key成为项的value,Map的

 

value会成为项的内容。

 

 

listKey :指定集合对象中的哪个属性作为项的value 。

 

listvalue : 指定集合对象中的哪个属性作为项的内容。

 

<s:checkboxlist name="interest" list="{'足球','篮球','排球','游泳'}" label="兴趣爱好"/>

 

 

大致介绍了基本的struts的标签,如果需要了解更多的struts2标签的使用,可以参考struts2的官方网站。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics