<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ☆藍色夢想☆

    世界總是反反覆覆錯錯落落地飄去 來不及嘆息 生活不是平平淡淡從從容容的東西 不能放棄
    posts - 57, comments - 5, trackbacks - 0, articles - 0

    Struts-Logic 標簽庫

    Posted on 2006-01-11 23:27 ☆藍色夢想☆ 閱讀(356) 評論(0)  編輯  收藏 所屬分類: J2EE

    此標簽庫可以分為三種類型:條件、循環、轉發/重定向。

    一.) 條件類型

    1. logic:empty和logic:notEmpty
      logic:empty標簽判斷腳本變量是否為null,是否是一個空的字符串(長度為0),是否是一個空的collection或map(調用isEmpty()方法來判斷)。logic:notEmpty標簽類似。
       <logic:empty name="myBean">
         The bean is missing
       </logic:empty>
       <logic:notEmpty name="myBean">
         The bean is not missing
       </logic:notEmpty>
      上段代碼表示當一個名為myBean的bean在所有的scope中都不存在時,輸出The bean is missing;存在的話輸出The bean is not missing。
      此標簽有三個屬性:name、property和scope。
    2. logic:equal, logic:notEqual, logic:lessThan, logic:greaterThan,logic:lessEqual, and logic:greaterEqual
      這堆logic:*equal*標簽從名字上就能知道意思,它們使用起來有些笨拙。
      有如下屬性:name、property、scope、value、cookie、header、parameter。
       <logic:equal name="bean" property="doubleProperty" value="<%= doub1 %>">
          equal
       </logic:equal>
       <logic:greaterEqual name="bean" property="doubleProperty" value="<%= doub1 %>">
          greaterEqual
       </logic:greaterEqual> 

    3. logic:present和logic:notPresent
      檢查header、request parameter、cookie、JavaBean或JavaBean propertie是否存在且不等于null。另外還可以檢查當前用戶的身份,使用屬性user和role。
      其它的屬性有:name、property、scope、cookie、header、parameter。
       <logic:notPresent name="myBean"  property="prop"  scope="page">
       The bean property bean.prop is present
       </logic:notPresent>
      上段代碼檢查在page作用域內名為myBean的bean是否有一個prop屬性。
    4. logic:match和logic:notMatch
      比較兩字符串是否相等,可以比較字符串的開始的、結尾的或其中的某個部分。
      location屬性:指定從某個位置開始進行比較。
      其它的屬性有:name、property、scope、value、cookie、header、parameter。
      下面的例子是檢查瀏覽器類型:
       <logic:match header="User-Agent" value="Mozilla">
        Mozilla!
       </logic:match>
       <logic:notMatch header="User-Agent" value="Mozilla">
        Not Mozilla :(
       </logic:notMatch>

      檢查bean屬性是否匹配"hello world"字符串:
       <logic:match name="bean" property="stringProperty" value="hello world">
        Hello World!
       </logic:match>
       <logic:notMatch name="bean" property="stringProperty" value="hello world">
        I'm so sad and lonely.
       </logic:notMatch> 

      檢查名為"name"的請求參數是否是"xyz"的子字符串,但是子字符串必須從"xyz"的索引位置1開始(也就是說子字符串必須是"y"或"yz"):
       <logic:match parameter="name"  value="xyz"  location="1">
            The parameter name is a sub-string of the string xyz from index 1
       </logic:match>

    二.) 循環類型

    logic:iterate
    重復嵌套在此標簽體內的指定集合的元素,集合必須為如下類型:array 、Collection(包括ArrayList和Vector)、Enumeration、Iterator、Map(包括HashMap、Hashtable和TreeMap)。例如:
     <logic:iterate id="employee" name="department" property="employees" scope= "request">

     <bean:write name="employee" property="username" />

     <bean:write name="employee" property="name" />

     <bean:write name="employee" property="phone" />

     </logic:iterate> 
    上面的代碼迭代了一個employee的集合,是department屬性employees的一個集合,作用域為request。

    為了輸出第五個到第十個employee,需要使用length和offset屬性:
     <logic:iterate id="employee" name="department" property="employees" scope= "request" length="10" offset="5">

     <bean:write name="employee" property="username" />

     <bean:write name="employee" property="name" />

     <bean:write name="employee" property="phone" />

     </logic:iterate>

     你可以定義一個變量保存當前的索引值:      
     <ol>
     <logic:iterate id="element" name="bean" property="stringArray" indexId="index">
     <li>
     <em>
     <bean:write name="element"/>
     </em>&nbsp;
     [<bean:write name="index"/>]</li>
     </logic:iterate>
     </ol> 

    三.) 轉發/重定向類型

    logic:forward和logic:redirect
    logic:forward標簽和jsp:forward標簽和相似,但它可以使用global forward中的一個ActionForward:
     
     <logic:forward name="login" />
    ----------------------------------------------------------------------------------------------------------------------------------
     與上面相關的global forward中的代碼:
     <global-forwards>
     <forward name="login" path="/loginForm.jsp"/>
     </global-forwards>

    logic:redirect標簽和上面的標簽類似,但它默認調用的方法是response.sendRedirect(),取代了上面的requestDispatcher.forward()。最大的不同是它支持所有html:link標簽的屬性,所以你能夠指定request參數:
     <logic:redirect name="login" paramId="employeeId" paramName="employee" property="id" />

    主站蜘蛛池模板: 成在人线av无码免费高潮喷水| 亚洲av无码兔费综合| 在线播放国产不卡免费视频| 卡一卡二卡三在线入口免费| 亚洲自偷自拍另类图片二区| 亚洲免费视频网站| 久久99久久成人免费播放| 亚洲国产V高清在线观看| 羞羞视频网站免费入口| 亚洲国产精品尤物YW在线观看| 一区二区三区免费视频观看| 久久精品亚洲福利| 亚洲香蕉在线观看| 久香草视频在线观看免费| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲av无码潮喷在线观看| 99精品免费视品| 国产美女做a免费视频软件| 国产精一品亚洲二区在线播放| 亚洲国产区男人本色在线观看| 三年片在线观看免费大全| 亚洲熟妇无码八AV在线播放| 亚洲高清国产拍精品熟女| 国产乱子伦精品免费女| 五月天婷婷免费视频| 亚洲产国偷V产偷V自拍色戒| 美女被爆羞羞网站在免费观看 | 在线观着免费观看国产黄| 亚洲第一香蕉视频| 精品国产污污免费网站入口| 亚洲av永久无码制服河南实里| 91香焦国产线观看看免费| 美腿丝袜亚洲综合| 日韩精品无码免费一区二区三区| 天堂亚洲国产中文在线| 亚洲日本中文字幕天堂网| 18禁无遮挡无码国产免费网站| 亚洲国产天堂久久综合网站| 大地资源免费更新在线播放| 亚洲国产日韩精品| 亚洲熟女少妇一区二区|