现在的位置: 首页 > 综合 > 正文

【转】常用struts标签使用举例–logic篇

2012年04月17日 ⁄ 综合 ⁄ 共 4374字 ⁄ 字号 评论关闭
1.  logic:empty
          该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
         1)当Java对象为null时;
         2)当String对象为""时;
         3)当java.util.Collection对象中的isEmpty()返回true时;
         4)当java.util.Map对象中的isEmpty()返回true时。
          eg.
           
           该句等同于:
           if   (userList.isEmpty())   {  
                 ...  
           }   

   2.  logic:notEmpty
          该标签的应用正好和logic:empty标签相反。

   3. logic:equal
          该标签为等于比较符。
          eg1. 比较用户的状态属性是否1,若为1,输出"启用";
          eg2. 如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。
              
    4. logic:notEqual
          该标签意义与logic:equal相反,使用方法类似,略。

    5. logic:forward
          该标签用于实现页面导向,查找配置文件的全局forward。struts-config.xml文件中全局转向
          eg. <logic:forward name="redirect"/><logic:forward name="index"></logic:forward>

    6. logic:greaterEqual
          为大于等于比较符。
          eg. 当某学生的成绩大于等于60时,输出“及格”:
            <logic:greaterEqual name="student" property="scores" value="60">
                  及格
            </logic:greaterEqual> 
    7. logic:greaterThan
          此为大于比较符,使用方法同logic:greaterEqual;
    8. logic:lessEqual
          此为小于等于比较符,使用方法同logic:greaterEqual;
    9. logic:lessThan
          此为小于比较符,使用方法同logic:greaterEqual;
    10. logic:match
          此标签比较对象是否相等;
          eg1. 检查在request范围内的name属性是否包含"hello"串: 
          <logic:match name="name" scope="request" value="hello">
                  <bean:write name="name"/>中有一个“hello”串。
              </logic:match>
         eg2. 检查在request范围内的name属性是否已“hello”作为起始字符串:
          <logic:match name="name" scope="request" value="hello" location="start">
                          <bean:write name="name"/>以“hello”作为起始字符串。
              </logic:match>
         eg3.
                <logic:match header="user-agent" value="Windows">
                          你运行的是Windows系统
                </logic:match>
    11.  logic:notMatch

          此标签用于比较对象是否不相同,与logic:match意义相反,使用方法类似

     12. logic:messagePresent
          该标签用于判断ActionMessages/ActionErrors对象是否存在;
          eg. 如果存在error信息,将其全部输出:
               <logic:messagePresent property="error">
                             <html:messages property="error" id="err" >
                                   <bean:write name="err"/>
                            </html:messages>    
                      </logic:messagePresent ><logic:messagepresent property="error">            </logic:messagepresent>

     13. logic:messagesNotPresent
          该标签用于判断ActionMessages/ActionErrors对象是否不存在,使用方法与logic:messagePresent类似
      14. logic:present
           此标签用于判断request对象传递参数是否存在。
           eg1. user对象和它的name属性在request中都存在时,输出相应字符串:
                 <logic:present name="user" property="name">
                                   user对象和该对象的name属性都存在
                         </logic:present> 
          eg2. 若有一个名字为“hello”的JavaBean,输出对应字符串:
             <logic:present name="user"><logic:present name="hello" >
                                 有一个名字为“hello”的JavaBean。
                   </logic:present></logic:present>
          eg3.
                     <logic:present header="user-agent">
                              we got a user-agent header.
                     </logic:present>

      15. logic:notPresent
           此标签用于判断request对象传递参数是否不存在,意义与了logic:present相反,使用方法类似。
      16. logic:iterator
            用于显示列表为collection的值(List ,ArrayList,HashMap等)。
            eg1. 逐一输出用户列表(empList)中用户的姓名:
                      <logic:iterate  id="emp" name="empList">
                            <bean:write name="emp" property="name"/><br>
                      </logic:iterate>
            eg2. 从用户列表中输出从1开始的两个用户的姓名
                    <logic:iterate  id="emp" name="empList" indexId="index"  offset="1" length="2">
                               <bean:write name="index"/>.<bean:write name="emp" property="name"/><br>
                    </logic:iterate>
            eg3. logic:iterator标签的嵌套举例
                <logic:iterate id="user" name="userList" indexid="index">   <logic:iterate id="emp" indexId="index" name="empList">
                               <bean:write name="index"/>. <bean:write name="emp" property="name"/><br> 
                               <logic:iterate id="address" name="emp" property="addressList" length="3" offset="1">
                                         <bean:write name="address"/><br>
                               </logic:iterate>
                        </logic:iterate></logic:iterate>

<logic:iterate name="userList" indexid="index">   

  17. logic:redirect
           该标签用于实现页面转向,可传递参数。
           eg. <logic:redirect href="http://www.javaeye.com"/><logic:iterate>
</logic:iterate></logic:iterate>

抱歉!评论已关闭.