国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

黑馬程序員【JSTL之迭代標(biāo)簽庫(kù)】

2019-11-15 00:15:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
黑馬程序員【JSTL之迭代標(biāo)簽庫(kù)】

JSTL之迭代標(biāo)簽庫(kù)

------- android培訓(xùn)、java培訓(xùn)、期待與您交流! ----------

JSTL的全稱(chēng)是 Java Server Pages Standard Tag Library,翻譯過(guò)來(lái)就是jsp標(biāo)準(zhǔn)標(biāo)簽庫(kù),它包含了在開(kāi)發(fā)JSP頁(yè)面時(shí)經(jīng)常用到的一組標(biāo)準(zhǔn)標(biāo)簽。這些標(biāo)簽提供了一種不用嵌入Java代碼就可以開(kāi)發(fā)復(fù)雜的JSP頁(yè)面的方法。

在JSTL中一共有5大類(lèi)標(biāo)簽庫(kù),其中有一個(gè)重要的核心標(biāo)簽庫(kù),而核心標(biāo)簽庫(kù)根據(jù)功能不同又分為通用標(biāo)簽庫(kù)、條件標(biāo)簽庫(kù)、迭代標(biāo)簽庫(kù),今天我們要說(shuō)的就是其中的迭代標(biāo)簽庫(kù)。

在JSP的開(kāi)發(fā)中,我們經(jīng)常需要對(duì)集合對(duì)象進(jìn)行迭代操作。例如,列表顯示查詢(xún)結(jié)果等,以往通常使用java代碼實(shí)現(xiàn)集合對(duì)象的遍歷,如List,Iterator等。現(xiàn)在我們所說(shuō)的JSTL的迭代標(biāo)簽可以在很大程度上簡(jiǎn)化迭代操作。

<c:forEach>標(biāo)簽有兩種語(yǔ)法格式,一種用于遍歷集合對(duì)象的成員,另一種用于使語(yǔ)句循環(huán)執(zhí)行指定的次數(shù),下面我們來(lái)一一列舉。

1.遍歷集合對(duì)象的成員

<c:forEach var="varName" items="collectionName" varStatus="varStatuwsName"           begin="beginIndex" end="endIndex" step="step">顯示內(nèi)容</c:forEach>

上面就是一個(gè)forEach標(biāo)簽的基本語(yǔ)法格式,其中var屬性是代表當(dāng)前遍歷的成員,items是指被迭代的集合對(duì)象,varStatus屬性用于存放var引用的成員的相關(guān)信息,如索引等,begin表示開(kāi)始的位置,默認(rèn)為0,end表示結(jié)束為止,step表示循環(huán)的步長(zhǎng),默認(rèn)為1。好了,現(xiàn)在我們已經(jīng)知道了他的基本語(yǔ)法和各屬性的作用,那么把他帶入到程序中是怎樣的呢?下面就用一個(gè)簡(jiǎn)單的Demo來(lái)個(gè)大家一個(gè)直觀(guān)的呈現(xiàn):

<%    List<String> list = new ArrayList<String>();    list.add("小明");    list.add("小紅");    list.add("小剛");    request.setAttribute("list",list);    %>    <c:forEach var="varName" items="${list}" varStatus="varStatusName">       ${varName}    </c:forEach>

這樣就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的迭代效果,一般JSTL標(biāo)簽要和EL表達(dá)式聯(lián)用,這樣就可以簡(jiǎn)便的獲取和輸出數(shù)據(jù)。大家也看到了,這樣直接遍歷循環(huán)對(duì)象很簡(jiǎn)單,那么我們繼續(xù)看他的下一種語(yǔ)法格式,也就是指定語(yǔ)句的執(zhí)行次數(shù)。

2.指定語(yǔ)句的執(zhí)行次數(shù):

<c:forEach var="varName"  varStatus="varStatuwsName"           begin="beginIndex" end="endIndex" step="step">顯示內(nèi)容</c:forEach>

是不是看起來(lái)很熟悉呢,他的語(yǔ)法和上面沒(méi)有太大不同,區(qū)別就是格式2不是對(duì)一個(gè)集合對(duì)象遍歷,而是根據(jù)制定的begin屬性,end屬性以及step屬性執(zhí)行主體內(nèi)容固定的次數(shù)。這種方法在實(shí)際開(kāi)發(fā)中非常廣泛,在很多開(kāi)發(fā)中都要顯示列表,報(bào)表,下面我們就用一個(gè)人員列表隔行變色的核心代碼來(lái)演示他的效果:

 <table style="border:1px solid blue; width: 400px;">        <tr style="font-weight: bold; ">        <td>姓名</td><td>職位</td><td>年齡</td>        </tr>        <!--在servlet頁(yè)面已經(jīng)加進(jìn)去一個(gè)集合-->        <c:forEach var="varName" items="${list}" varStatus="status">           <tr <c:if test="${status.index%2==0}">style="background-color: pink"</c:if></tr>              <td>${varName.name}</td><td>${varName.job}</td><td>${varName.age}</td>           </tr>        </c:forEach>     </table>

這樣就有了一個(gè)好看的隔行變色效果:

是不是很好用呢?如果要用jquery或是HTML代碼實(shí)現(xiàn)這種和數(shù)據(jù)庫(kù)連接的樣式會(huì)非常麻煩,使用JSTL標(biāo)簽讓代碼變得簡(jiǎn)便,并且其中的條件標(biāo)簽可以讓代碼多出更多的變化。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大新县| 余江县| 武强县| 台州市| 南溪县| 潢川县| 朔州市| 凌源市| 清涧县| 汉川市| 涿鹿县| 庆城县| 仙居县| 清镇市| 新乡县| 原阳县| 互助| 夹江县| 龙海市| 青河县| 桐乡市| 丰台区| 金湖县| 凤庆县| 建昌县| 鄂托克旗| 昭觉县| 乐至县| 玛曲县| 屯昌县| 黄冈市| 定远县| 建湖县| 铜梁县| 蒙阴县| 宣威市| 阿坝| 土默特右旗| 温泉县| 外汇| 外汇|