天天看點

struts标簽使用舉例--logic篇

     原文出處:http://www.blogjava.net/amigoxie/archive/2007/02/20/100266.html

  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://hao123.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>

繼續閱讀