struts标签使用举例-logic

发现平时写界面,都用到很多的<%%>,感觉很不爽,整理一下Struts的标签,以备以后查阅;

1. logic:empty
          该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:

         1)当Java对象为null时;
         2)当String对象为""时;
         3)当java.util.Collection对象中的isEmpty()返回true时;
         4)当java.util.Map对象中的isEmpty()返回true时。

          eg.
          
 < logic:empty   name="userList">   
              ...   
           < /logic:empty> 

           该句等同于:
          
if   (userList.isEmpty())   {   
                 ...   
           }   

   2.  logic:notEmpty
          该标签的应用正好和logic:empty标签相反,略。
   3. logic:equal
      该标签为等于比较符。
      eg1. 比较用户的状态属性是否1,若为1,输出"启用";
         
< logic:equal   name="user"   property="state"   value="1">
          启用
         < /logic:equal>

     eg2. 如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。
         
< logic:equal   name="charge"   property="num"   value="${business.num}">   
                    ......
         < /logic:equal>

    4. logic:notEqual
          该标签意义与logic:equal相反,使用方法类似,略。
    5. logic:forward
          该标签用于实现页面导向,查找配置文件的全局forward。
          eg.
< logic:forward name="index"/>

    6. logic:greaterEqual
          为大于等于比较符。
          eg. 当某学生的成绩大于等于90时,输出“优秀”:
              
< logic:greaterEqual name="student" property="score" value="90">
                  优秀
            < /logic:greaterEqual>

    7. logic:greaterThan
          此为大于比较符,使用方法同logic:greaterEqual,略;
    8. logic:lessEqual
          此为小于等于比较符,使用方法同logic:greaterEqual,略;
    9. logic:lessThan
          此为小于比较符,使用方法同logic:greaterEqual,略;
    10. logic:match
          此标签比较对象是否相等;
          eg1. 检查在request范围内的name属性是否包含"amigo"串:
          
 < logic:match name="name" scope="request" value="amigo">
                  < bean:write name="name"/>中有一个“amigo”串。
            < /logic:match>

         eg2. 检查在request范围内的name属性是否已“amigo”作为起始字符串:
          
< logic:match name="name" scope="request" value="amigo" location="start">
               < bean:write name="name"/>以“amigo”作为起始字符串。
            < /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="errMsg" > 
                        < bean:write name="errMsg"/> 
                  < /html:messages>   
               < /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. 若有一个名字为“user”的JavaBean,输出对应字符串:
           
 < logic:present name="user" >
                  有一个名字为“user”的JavaBean。
            < /logic:present>

          eg3.
           
< logic:present header="user-agent">
                  we got a user-agent header.
            </logic:present>

      15. logic:notPresent
           此标签用于判断request对象传递参数是否不存在,意义与了logic:present相反,使用方法类似,略。
      16. logic:redirect
           该标签用于实现页面转向,可传递参数。
           eg1.
< logic:redirect href="http://www.chinaitlab.com"/>

      
       17. logic:iterator
            用于显示列表为collection的值(List ,ArrayList,HashMap等)。
            eg1. 逐一输出用户列表(userlList)中用户的姓名:
              
<logic:iterate  id="user" name="userList">
                  < bean:write name="user" property="name"/>< br>
               </logic:iterate>

            eg2. 从用户列表中输出从1开始的两个用户的姓名
              
<logic:iterate  id="user" name="userList" indexId="index"  offset="1" length="2">
                  <bean:write name="index"/>.<bean:write name="user" property="name"/>< br>
               </logic:iterate>

            eg3. logic:iterator标签的嵌套举例
<logic:iterate id="user" indexId="index" name="userList">
  <bean:write name="index"/>. 
  <bean:write name="user" property="name"/><br/>
  <logic:iterate id="address" name="user" property="addressList" length="3" offset="1">
    <bean:write name="address"/><br/>
  </logic:iterate>
</logic:iterate>

你可能感兴趣的:(java,jsp,bean,windows,struts)