struts2中标签应用笔记

struts2中标签使用笔记
一、struts2中JSP获取action属性值方法:
例如:action中有属性int age=0;jsp页面可以通过以下2中方式获取该属性值
方法1、<s:property value='fId'/>
方法2、${fId}
二、如果action中有属性int age=0;jsp页面中使用if标签判断age是否为0时,可以使用以下方式判断:
<s:if test="#request.fId==0">正确</s:if>
判断对象属性:
<s:if test="#request.persion.age==1">
三、jsp中使用基本标签需要赋值时最好不要用struts2标签,用基本的html标签,否则容易报类型装换错误
四、<s:select>标签的替换版本
<select name="user.userId" id="userId">
<option value="">请选则用户</option>
<s:iterator value="userList" id="user_data" status="user_statu">
<s:if test="#user_data.userId==#request.user.userId">
<option value='<s:property value="#user_data.userId"/>' selected><s:property value="#user_data.userName"/></option>
</s:if>
<s:else>
<option value='<s:property value="#user_data.userId"/>'><s:property value="#user_data.userName"/></option>
</s:else>
</s:iterator>
</select>
说明:
userList为action中属性List<User> userList;
User.java中有属性Integer userId;String userName;
五、<s:select>判断
1、是否为null
<s:if test='#request.abc!=null'></s:if>
2、是否为空值
<s:if test='#request.abc!=""'></s:if>
3、不为null且不为空置
<s:if test='#request.abc!=null'>
  <s:if test='#request.abc!=""'>
  </s:if>
</s:if>
4、list里是否有值
<s:if test="abclist.size()>0">
六、<s:select>付静态值
1、方法一:
<s:select list="{'a1','a2','a3'}" name="abc" headerKey="" headerValue="--全部--"></s:select>
2、方法二:
<s:select list="#{'a1':'a1','a2':'a2','a3':'a3'}" name="abc" headerKey="" headerValue="--全部--"></s:select>
注意:此方法中值不能为数字,数字后台接收不到值
七、日期格式化显示
<s:date name="startTime"   format="yyyy-MM-dd HH:mm:ss"/>
八、<s:checkboxlist name="dd"  list="{'a1','a2','a3','a4','a5','a6','a7','a8' }"  />
九、<s:iterator>标签取List<Object[]>内的对象数组元素
<s:iterator value="obj" id="object">
                  <tr>
                      <td><s:property value="#object[0]"/></td>
                      <td><s:property value="#object[1]"/></td>
                      <td><s:property value="#object[2]"/></td>
                      <td>
<s:if test="%{#object[3].length()>2}">       
      <s:property value="#object[3].substring(0,2)+'...'" />       
</s:if>
<s:else>       
         <s:property value="#object[3]" />       
</s:else>
</td>
                      <td><s:property value="#object[4]"/></td>
                      <td>
                   </tr>
</s:iterator>
十、截取字符串
// 当长度超过6时截取前6为显示       
<s:if test="str.length()>6">       
     <s:property value="str.substring(0,6)+'...'" />       
</s:if>       
//否则全部显示       
<s:else>       
      <s:property value="str" />       
</s:else>
、、、、、、、、、、、、、、、
<s:if test="%{#str.length()>6}">
    <s:property value="str.substring(0,6)+'...'" />
</s:if>
//否则全部显示
<s:else>
    <s:property value="str" />
</s:else>