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

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

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

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks
    Struts-Logic?標簽庫
    ?

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

    一.) 條件類型

    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"


    posted on 2007-01-07 16:04 java_蟈蟈 閱讀(228) 評論(0)  編輯  收藏 所屬分類: STRUTS
    主站蜘蛛池模板: 在线播放免费人成毛片乱码| 国产亚洲精品美女久久久久久下载| 日韩精品无码免费视频| 破了亲妺妺的处免费视频国产| 亚洲午夜一区二区三区| 国产三级在线观看免费| 国产精品亚洲综合久久| 韩国二级毛片免费播放| 国产成人不卡亚洲精品91| 国产国产成年年人免费看片| 亚洲av午夜国产精品无码中文字| 午夜dj免费在线观看| 偷自拍亚洲视频在线观看99| 日本中文一区二区三区亚洲 | 久久精品国产亚洲av日韩| 午夜精品射精入后重之免费观看| 亚洲成av人影院| 啦啦啦完整版免费视频在线观看| 亚洲婷婷第一狠人综合精品| 免费无码又爽又刺激高潮的视频| 污视频网站免费观看| 亚洲国产精华液网站w| 99re免费99re在线视频手机版| 亚洲精品动漫在线| 精品久久久久久久免费人妻| 成年大片免费高清在线看黄| 国产成人亚洲综合无码精品 | 亚洲日本一线产区和二线| 免费v片在线观看品善网| baoyu777永久免费视频| 亚洲男人天堂影院| 免费人成无码大片在线观看| 视频免费在线观看| 亚洲中文无码永久免费| 国产亚洲色视频在线| 人与禽交免费网站视频| 一区二区免费国产在线观看| 亚洲av成人无码久久精品| 狠狠久久永久免费观看| 暖暖免费日本在线中文| 亚洲av午夜国产精品无码中文字 |