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

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

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

    JSTL詳解(三)

    9.3.2? 用于賦值的 <c:set> 標簽

    <c:set> 標簽用于為變量或 JavaBean 中的變量屬性賦值的工作。它的屬性和描述如表 9.4 所示:

    9.4   <c:set> 標簽屬性和說明

    屬性

    描述

    value

    值的信息,可以是 EL 表達式或常量

    target

    被賦值的 JavaBean 實例的名稱,若存在該屬性則必須存在 property 屬性(可選)

    property

    JavaBean 實例的變量屬性名稱(可選)

    var

    被賦值的變量名(可選)

    scope

    變量的作用范圍,若沒有指定,默認為 page (可選)

    當不存在 value 的屬性時,將以包含在標簽內的實體數據作為賦值的內容。下面看一個示例:

    <c:set value="this is andy" var="oneString"/>

    ${oneString} <br>

    該示例將為名為“ oneString ”的變量賦值為“ this is andy ”,其作用范圍為 page

    9.3.3? 用于刪除的 <c:remove> 標簽

    <c:remove> 標簽用于刪除存在于 scope 中的變量。它的屬性和描述如表 9.5 所示:

    9.5   <c:remove> 標簽屬性和說明

    屬性

    描述

    var

    需要被刪除的變量名

    scope

    變量的作用范圍,若沒有指定,默認為全部查找(可選)

    下面看一個示例:

    <c:remove var="sampleValue" scope="session"/>

    ${sessionScope.sampleValue} <br>

    該示例將存在于 Session 中名為“ sampleValue ”的變量刪除。下一句 EL 表達式顯示該變量時,該變量已經不存在了。

    9.3.4? 用于異常捕獲的 <c:catch> 標簽

    <c:catch> 標簽允許在 JSP 頁面中捕捉異常。它包含一個 var 屬性,是一個描述異常的變量,改變量可選。若沒有 var 屬性的定義,那么僅僅捕捉異常而不做任何事情,若定義了 var 屬性,則可以利用 var 所定義的異常變量進行判斷轉發到其他頁面或提示報錯信息。看一個示例。

    <c:catch var="err">

    ???????? ${param.sampleSingleValue[9] == 3}

    </c:catch>

    ${err}

    當“ ${param.sampleSingleValue[9] == 3} ”表達式有異常時,可以從 var 屬性“ err ”得到異常的內容,通常判斷“ err ”是否為 null 來決定錯誤信息的提示。

    9.3.5? 用于判斷的 <c:if> 標簽

    <c:if> 標簽用于簡單的條件語句。它的屬性和描述如表 9.6 所示:

    9.6   <c:if> 標簽屬性和說明

    屬性

    描述

    test

    需要判斷的條件

    var

    保存判斷結果 true false 的變量名,該變量可供之后的工作使用(可選)

    scope

    變量的作用范圍,若沒有指定,默認為保存于 page 范圍中的變量(可選)

    下面看一個示例:

    <c:if test="${paramValues.sampleValue[2] == 12}" var="visits">

    ?? ?? It is 12

    </c:if><br>

    ${visits} <br>

    該示例將判斷 request 請求提交的傳入控件數組參數中,下標為“ 2 ”的控件內容是否為“ 12 ”,若為 12 則顯示“ It is 12 ”。判斷結果被保存在 page 范圍中的“ visits ”變量中。  

    9.3.6? 用于復雜判斷的 <c:choose> <c:when> <c:otherwise> 標簽

    這三個標簽用于實現復雜條件判斷語句,類似“ if,elseif ”的條件語句。

    q???????? <c:choose> 標簽沒有屬性,可以被認為是父標簽, <c:when> <c:otherwise> 將作為其子標簽來使用。

    q???????? <c:when> 標簽等價于“ if ”語句,它包含一個 test 屬性,該屬性表示需要判斷的條件。

    q???????? <c:otherwise> 標簽沒有屬性,它等價于“ else ”語句。

    下面看一個復雜條件語句的示例。

    <c:choose>

    ???????? <c:when test="${paramValues.sampleValue[2] == 11}">

    ?????????????????? not 12 not 13,it is 11

    ???????? </c:when>

    ???????? <c:when test="${paramValues.sampleValue[2] == 12}">

    ?????????????????? not 11 not 13,it is 12

    ???????? </c:when>

    ???????? <c:when test="${paramValues.sampleValue[2] == 13}">

    ?????????????????? not 11 not 12,it is 13

    ???????? </c:when>

    ???????? <c:otherwise>

    ?????????????????? not 11 12 13

    ???????? </c:otherwise>

    </c:choose>

    該示例將判斷 request 請求提交的傳入控件數組參數中,下標為“ 2 ”控件內容是否為“ 11 ”或“ 12 ”或“ 13 ”,并根據判斷結果顯示各自的語句,若都不是則顯示“ not 11 12 13 ”。

    9.3.7? 用于循環的 <c:forEach> 標簽

    <c:forEach> 為循環控制標簽。它的屬性和描述如表 9.7 所示:

    9.7   <c:forEach> 標簽屬性和說明

    屬性

    描述

    items

    進行循環的集合(可選)

    begin

    開始條件(可選)

    end

    結束條件(可選)

    step

    循環的步長,默認為 1 (可選)

    var

    做循環的對象變量名,若存在 items 屬性,則表示循環集合中對象的變量名(可選)

    varStatus

    顯示循環狀態的變量(可選)

    下面看一個集合循環的示例。

    <%ArrayList arrayList = new ArrayList();

    ?????????????????? arrayList.add("aa");

    ?????????????????? arrayList.add("bb");

    ?????????????????? arrayList.add("cc");

    %>

    <%request.getSession().setAttribute("arrayList", arrayList);%>

    <c:forEach items="${sessionScope.arrayList}" var="arrayListI">

    ???????? ${arrayListI}

    </c:forEach>

    該示例將保存在 Session 中的名為“ arrayList ”的 ArrayList 類型集合參數中的對象依次讀取出來, items 屬性指向了 ArrayList 類型集合參數, var 屬性定義了一個新的變量來接收集合中的對象。最后直接通過 EL 表達式顯示在頁面上。下面看一個簡單循環的示例。

    <c:forEach var="i" begin="1" end="10" step="1">

    ????? ${i}<br />

    </c:forEach>

    示例從“ 1 ”循環到“ 10 ”,并將循環中變量“ i ”顯示在頁面上。

    9.3.8? 用于分隔字符的 <c:forTokens> 標簽

    <c:forTokens> 標簽可以根據某個分隔符分隔指定字符串,相當于 java.util.StringTokenizer 類。它的屬性和描述如表 9.8 所示:

    9.8   <c:forTokens> 標簽 屬性和說明

    屬性

    描述

    items

    進行分隔的 EL 表達式或常量

    delims

    分隔符

    begin

    開始條件(可選)

    end

    結束條件(可選)

    step

    循環的步長,默認為 1 (可選)

    var

    做循環的對象變量名(可選)

    varStatus

    顯示循環狀態的變量(可選)

    下面看一個示例。

    <c:forTokens items="aa,bb,cc,dd" begin="0" end="2" step="2" delims="," var="aValue">

    ???????? ${aValue}

    </c:forTokens>

    需要分隔的字符串為“ aa,bb,cc,dd ”,分隔符為“ , ”。 begin 屬性 指定從第一個“ , ”開始分隔, end 屬性指定分隔到第三個“ , ”,并將做循環的變量名指定為“ aValue ”。由于步長為“ 2 ”,使用 EL 表達式 ${aValue} 只能顯示“ aa



    posted on 2007-01-18 11:25 nbt 閱讀(3376) 評論(0)  編輯  收藏 所屬分類: Servele&JSP和js

    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    Java技術網站

    友情鏈接

    國內一些開源網站

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久aa毛片免费播放嗯啊| 久久精品国产精品亚洲精品| 18以下岁毛片在免费播放| 黄网站色视频免费看无下截| 亚洲丰满熟女一区二区v| 精品亚洲永久免费精品| 亚洲片国产一区一级在线观看 | 日本免费的一级v一片| 91短视频在线免费观看| 中文字幕久精品免费视频| 日韩免费高清一级毛片| 亚洲成av人片在线天堂无| 亚洲免费在线视频观看| 久久亚洲sm情趣捆绑调教 | 日韩精品在线免费观看| 久久九九久精品国产免费直播| 精品久久亚洲一级α| 亚洲熟女乱色一区二区三区| 亚洲国产模特在线播放| 亚洲视频免费播放| 亚洲成AV人片在线播放无码| 亚洲色大成网站WWW久久九九| 亚洲免费在线观看| 亚洲精品天堂成人片?V在线播放| 四虎国产精品免费视| 国产美女无遮挡免费视频| 免费观看男人免费桶女人视频| 成年女人男人免费视频播放| 成人免费午夜视频| 免费电视剧在线观看| 成人特黄a级毛片免费视频| 性做久久久久久久免费看| 久久久久久99av无码免费网站| 黄页网站免费观看| 猫咪社区免费资源在线观看| 成人毛片免费在线观看| 成人黄软件网18免费下载成人黄18免费视频 | 99re6热视频精品免费观看| 99re热精品视频国产免费| 91麻豆国产免费观看| 一级女人18毛片免费|