`

006 - Struts2_tags

阅读更多

1) struts2 tags

 

 1.<s:property>

  property: <s:property value="username"/>    //查文档,若value的类型为Object,则为OGNL表达式
  property 取值为字符串: <s:property value="'username'"/> </li>
  property 设定默认值: <s:property value="admin" default="管理员"/> 
  property 设定HTML: <s:property value="'<hr/>'" escape="false"/> 
  
  set 设定adminName值(默认为request 和 ActionContext): <s:set var="adminName" value="username" />
  
  set 从request取值: <s:property value="#request.adminName" />
  set 从ActionContext取值: <s:property value="#adminName" />


  
  set 设定范围: <s:set name="adminPassword" value="password" scope="page"/>
  set 从相应范围取值: <%=pageContext.getAttribute("adminPassword") %>
  

 


  set 设定var,范围为ActionContext: <s:set var="adminPassword" value="password" scope="session"/>
  set 使用#取值: <s:property value="#adminPassword"/> 
  set 从相应范围取值: <s:property value="#session.adminPassword"/> 

  
  
  

2. <s:bean >


  定义bean,并使用param来设定新的属性值:
   <s:bean name="com.bjsxt.struts2.tags.Dog" >
          <s:param name="name" value="'pp'"></s:param>
           <s:property value="name"/>     //把刚设进去的name拿出来
    
   </s:bean>
   
 

  bean 查看debug情况:
   <s:bean name="com.bjsxt.struts2.tags.Dog" var="myDog">
           <s:param name="name" value="'oudy'"></s:param>
   </s:bean>
   拿出值:
   <s:property value="#myDog.name"/>   //出了<s:bean>,必须到Action context里去拿


   

 3. <s:include>  


  include _include1.html 包含静态英文文件
         <s:include value="/_include1.html"></s:include> 

//尽量不要使用struts2的 include标签,中文问题解决方法无规律
  
  
  include _include2.html 包含静态中文文件 <s:include value="/_include2.html"></s:include>
  
  
  include _include1.html 包含静态英文文件,说明%用法
            <s:set var="incPage" value="%{'/_include1.html'}" />
            <s:include value="%{#incPage}"></s:include>
  
  

 

4.  <s: if ><s:elseif ><s:else> 

 

  age = <s:property value="#parameters.age[0]" />


  <s:set var="age" value="#parameters.age[0]" />
  <s:if test="#age < 0">wrong age!</s:if>
  <s:elseif test="#parameters.age[0] < 20">too young!</s:elseif>
  <s:else>yeah!</s:else>
  
  <s:if test="#parameters.aaa == null">null</s:if>

  

 

 

5.  <s:iterator>

 


  <s:iterator value="{1, 2, 3}" >
         <s:property/> |        // 用<s:property/>可直接拿出
  </s:iterator>
  
  自定义变量: 
  <s:iterator value="{'aaa', 'bbb', 'ccc'}" var="x">   //var="x"指向当前遍历到的那个元素
           <s:property value="#x.toUpperCase()"/> |
  </s:iterator>
  

 


  使用status: 
  <s:iterator value="{'aaa', 'bbb', 'ccc'}" status="status">
   <s:property/> |
   遍历过的元素总数: <s:property value="#status.count"/> |
   遍历过的元素索引: <s:property value="#status.index"/> |
   当前是偶数?: <s:property value="#status.even"/> |
   当前是奇数?: <s:property value="#status.odd"/> |
   是第一个元素吗?: <s:property value="#status.first"/> |
   是最后一个元素吗?: <s:property value="#status.last"/>
   
  </s:iterator>
  

  
  遍历Map
  <s:iterator value="#{1:'a', 2:'b', 3:'c'}" >         //Map集合,前面加个#
         <s:property value="key"/> | <s:property value="value"/> 
  </s:iterator>


  <s:iterator value="#{1:'a', 2:'b', 3:'c'}" var="x">
           <s:property value="#x.key"/> | <s:property value="#x.value"/> 
  </s:iterator>
 

  
  

6.<s:fielderror>


  <s:fielderror fieldName="fielderror.test" theme="simple"></s:fielderror>
  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics