<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 ”變量中?! ?/span>

    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技術網站

    友情鏈接

    國內一些開源網站

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 你是我的城池营垒免费看| 一级毛片在线免费视频| 成熟女人特级毛片www免费| 中文字幕亚洲精品无码| 久久精品免费一区二区喷潮| 亚洲人成色777777老人头| 免费看片A级毛片免费看| 麻豆91免费视频| 亚洲一区二区三区乱码A| 亚洲av无码专区国产不乱码 | 免费人妻无码不卡中文字幕18禁| 亚洲aⅴ无码专区在线观看春色| 免费大片黄手机在线观看| 中文字幕在线视频免费观看| 亚洲好看的理论片电影| 青春禁区视频在线观看直播免费| 国产精品亚洲va在线观看| 老司机亚洲精品影视www| 久久久久久曰本AV免费免费| 亚洲日韩精品A∨片无码加勒比| 久久久久亚洲av毛片大| 免费女人高潮流视频在线观看| 2020国产精品亚洲综合网| 亚洲av高清在线观看一区二区| a毛片免费全部在线播放**| 免费一级不卡毛片| 亚洲免费无码在线| 国产黄色免费网站| 少妇亚洲免费精品| 亚洲国产精品综合久久久| 亚洲欧洲日本在线| 国产精品视频免费一区二区| 三年在线观看免费观看完整版中文| 亚洲午夜久久久久久尤物| 亚洲欧洲日本在线| 真实乱视频国产免费观看| 一道本在线免费视频| 亚洲精品人成电影网| 又色又污又黄无遮挡的免费视 | 久久99精品免费一区二区| 亚洲国产成人久久精品动漫|