1. 程式人生 > >struts標籤使用舉例--logic(轉)

struts標籤使用舉例--logic(轉)

   struts標籤使用舉例--logic

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>