struts Logic标签

来源:互联网 发布:js作用域链面试题 编辑:程序博客网 时间:2024/06/05 12:49

一 综述 

   Struts Logic 的标记大致可以分为以下几种:

 

    (1) 比较标记

    (2) 循环遍历标记

    (3)匹配标记 

    (4)存在标记

    (5)判空标记

    (6)转发与重定向标记

 实例代码如下:

 

   <%

    pageContext.setAttribute("test1" ,new Integer(10000)) ; 

   %>

 

   <logic:equal value="10000" name="test1">

   变量test1等于10000

   </logic:equal>

 

  判断成立时才打印  变量test1等于10000 。

 

 <logic:notEqual> <logic:lessThan> 等标签均相似 。

 

    以下是几个通用的属性

 

    (1)header属性

 

         它的值表示HTTP请求的header信息

         <logic:equal header ="host" value="localhost:8080">

            主机地址为localhost:8080

         </logic:equal>

 

    (2)parameter属性

 <html:link page="/login.jsp?testInt=12345">

  添加参数

  </html:link>

  <logic:greaterThan parameter ="testInt" value="10000">

   参数testInt的值大于10000

  </logic:greaterThan>

 

  (3)name属性

      若指定的变量并不是一个字符串,而是一个javaBean ,则还需要一个property属性和其配合使用,该property指定了javaBean的某个属性。然后将该属性的值与value所指定的值进行比较。

 

 

 

 

    2 <logic:iterate>属性

 

 

       (1) 对数组进行循环遍历

 

   用于在页面中创建一个循环,以此用来遍历数组、Collection、Map这样的对象,该标签常用。

  <% 

       String [] testArray1 = {"str0" ,"str1" ,"str2"} ;

       pageContext.setAttribute("test1" , testArray1) ;

   %>

    <logic:iterate id="array1" name="test1">

       <bean:write name="array1"/>

    </logic:iterate>

 

     (2)对HashMap 进行循环遍历

 

 <%

       Map  countries = new HashMap() ;

       countries.put("country1" ,"中国") ;

       countries.put("country2" ,"美国") ;

       countries.put("country3" ,"法国") ;

 

      pageContext.setAttribute("countries" ,countries) ;   

     %>

 

      <logic:iterate id="country" name="countries">

         <bean:write name="country" property="key"/>

         <bean:write name="country" property="value"/>

      </logic:iterate>   

 

(3)嵌套查询

 

<%

     String [] colors = {"red","green","blue"} ;

     String [] countries = {"中国" , "美国" ,"法国"} ;

     String []persons = {"乔丹" ,"肯德基" ,"克林顿"} ;

     ArrayList list2 = new ArrayList();

 

        list2.add(colors) ;

        list2.add(countries) ;

        list2.add(persons) ;

        pageContext.setAttribute("list2" , list2) ;   

    %>

 

   <logic:iterate id="first" name="list2" indexId="numberfirst">

      <bean:write name="numberfirst"/>

        <logic:iterate id="second" name="first">

          <bean:write name="second"/>

        </logic:iterate>  

 

   </logic:iterate>

 

 

 

3 Match 标记

 

   <logic:match>判断变量中是否包含指定的常量字符串。

   <logic:notMatch>判断变量中是否不包含指定的常量字符串。

   该标签有些类似java.lang.String类中的indexOf()方法。

 <%

     pageContext.setAttribute("test" ,"Hello,World") ;

 

    %>

    <logic:match name="test" value="Hello">

      <bean:write name="test"/>

    </logic:match>

 

 

4 Presence标记

 

  主要包含以下4个:

 

    (1) <logic:present>

    (2) <logic:notpresent>

    (3) <logic:messagePresent>

    (4)<logic:messageNotPresent>

 

    前2个主要是判断所指定的对象是否存在。以下为实例代码

 

     <%

      pageContext.setAttribute("ExistingString" , "testString") ;

 

    %>

   <logic:present name="ExistingString">

       ExistingString的值为:<bean:write name="ExistingString"/>

   </logic:present>

 

 

   常用属性如下:

 

   (1) header 属性 :判断是否存在header属性所指定的header信息。

   (2)parameter属性 : 判断是否存在parameter属性所指定的请求信息。

   (3)cookie : 判断cookie属性所指定的请求参数。

   (4)name属性:判断name属性所指定的变量是否存在。

   (5)property :和name属性同时使用,当name属性所指定的变量是一个javaBean时,判断proeprty属性所指定的对象属性是否存在。

 

5 Empty标记

 

   <logic:empty>:判断所指定的字符串是否为空。

   <logic:notEmpty> 判断所指定的字符串是否不为空。

 

 

6 转发和重定向

 

  (1)转发标记

 

         <logic:forward>用于全局转发,和struts-config.xml文件中的<global-forward>内的子项相对应。

 

 (2) 重定向标记

 

        <logic:redirect>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击