09 JSTL標(biāo)簽-核心標(biāo)簽庫(kù)的標(biāo)簽

導(dǎo)包:

  1. 使用jstl標(biāo)簽需要導(dǎo)入兩個(gè)Jar包:jstl-xxx.jar standard.jar
    下載可以到這里:>http://cn.jarfire.org/
    也可以到菜鳥(niǎo)教程里去下載:>http://www.runoob.com/jsp/jsp-

  2. 把下載的包放到WebContent->WEB-INF->lib下
    jstl.html

  3. 在jsp頁(yè)面中使用taglib指令引入標(biāo)簽庫(kù)

    <%--導(dǎo)入核心標(biāo)簽庫(kù) --%>
<%--
    uri: 表示需要導(dǎo)入的標(biāo)簽庫(kù)的uri名稱(chēng)。每個(gè)標(biāo)簽庫(kù)都會(huì)有一個(gè)tld后綴名的標(biāo)簽聲明文件,在tld文件中都有唯一的uri的名稱(chēng)。這個(gè)uri的名稱(chēng)就是當(dāng)前標(biāo)簽庫(kù)的名稱(chēng)。
    prefix: 使用標(biāo)簽庫(kù)的前綴,通用和tld文件的short-name名稱(chēng)相同
 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

至于怎么獲取uri和shortname呢?
導(dǎo)入完兩個(gè)Jar包打下如下文件

Paste_Image.png
Paste_Image.png
<body>
    
    <%--1.
        <c:set/>  給域?qū)ο筚x值   
        
        var: 數(shù)據(jù)的名稱(chēng)
        value: 保存的數(shù)據(jù)值
        scope: 保存到哪個(gè)域。
            page-》page域
            requset->request域
            session->session域
            application->application域
            
        <c:set var="name" value="jacky" scope="request"/>
        <c:out value="${name}"></c:out>
     --%>
     
     
    <%--2.
    <c:out/>   獲取域?qū)ο蟮臄?shù)據(jù)
     
        value: 代表獲取域中的某個(gè)名稱(chēng)內(nèi)容。如果數(shù)據(jù)在域中,必須使用EL語(yǔ)法去獲取
        default: 默認(rèn)值。當(dāng)前需要獲取的內(nèi)容為null,那么使用默認(rèn)值代替
        escapeXml: 默認(rèn)情況下為true,out標(biāo)簽會(huì)把輸入的內(nèi)容進(jìn)行轉(zhuǎn)義。如果不需要轉(zhuǎn)義,則為false既可!
    
    <c:out value="${name}" default="<h3>標(biāo)題3</h3>" escapeXml="false"></c:out>
    --%>
      
      
    <%--3. 
        <c:if/> 單條件判斷
         
        test: 條件表達(dá)式。返回true的時(shí)候,就會(huì)執(zhí)行if標(biāo)簽體內(nèi)容,否則,不執(zhí)行。
          
        <c:if test="${10>8}">
             <input type="submit" value="提交"/>
        </c:if>
    --%>


    <%--4.
        <c:choose/>+<c:when/>+<c:otherwise/>  多條件判斷
            
        --模擬登錄 --
        <c:set var="user" value="eric" scope="session"></c:set>
        
        <c:choose>
            <c:when test="${!empty sessionScope.user}">
                歡迎回來(lái),你的用戶(hù)名是 :eric,<a href="">【退出登錄】</a>
            </c:when>
            <c:otherwise>
                 請(qǐng)先<a href="">注冊(cè)</a>或<a href="">登錄</a>              
            </c:otherwise>
        </c:choose>
    --%>

    <%--5.
        <c:forEach/>    用于迭代或循環(huán)
        
        begin: 從哪個(gè)元素開(kāi)始遍歷,從0開(kāi)始
        end: 到哪個(gè)元素位置
        step: 增加步長(zhǎng)。默認(rèn)step為 1
        items: 需要遍歷的數(shù)據(jù)。(數(shù)組|List集合|Map集合) 如果是獲取域數(shù)據(jù),那么使用EL表達(dá)式獲取
        var: 每個(gè)元素名稱(chēng)
        varStatus: 當(dāng)前狀態(tài)對(duì)象。該對(duì)象封裝當(dāng)前元素狀態(tài)信息。  例如 count屬性: 表示當(dāng)前遍歷的是哪個(gè)元素,從1開(kāi)始 
        
        <%
            List<Student> list = new ArrayList<Student>();
            list.add(new Student("eric","123456"));
            list.add(new Student("lily","123456"));
            list.add(new Student("maxwell","123456"));
            pageContext.setAttribute("list",list);
        %>
        
        <c:forEach items="${list}" var="student" varStatus="varSta">
            序號(hào):${varSta.count }   姓名:${student.name} - 密碼: ${student.password }<br/>
        </c:forEach>
        
        
        
        <% 
            Map<String,Student> map = new HashMap<String,Student>();
            map.put("001",new Student("eric","123456"));
            map.put("002",new Student("jacky","123456"));
            map.put("003",new Student("rose","123456"));
            pageContext.setAttribute("map",map);
        %>
        
       <c:forEach items="${map}" var="entry">
         編號(hào): ${entry.key } - 姓名:${entry.value.name } - 密碼: ${entry.value.password }<br/>
       </c:forEach>
        
        注意: forEach標(biāo)簽遍歷Map集合時(shí),把每個(gè)Map的對(duì)象使用Entry封裝,
             Entry封裝鍵對(duì)象和值對(duì)象,通過(guò)getKey()獲取鍵對(duì)象,通過(guò)getValue()獲取值對(duì)象
     --%> 

     <%--6.
        <c:forToekens/>   遍歷特殊字符串
        
        <c:set var="str" value="java-net-php-平面設(shè)計(jì)"></c:set>
        
        items: 需要遍歷的字符串
        delims: 指定分割符號(hào)
        var: 每個(gè)內(nèi)容的名稱(chēng)
        
        
        <%
               String str= (String)pageContext.getAttribute("str");
               String[] strs = str.split("-");
               for(int i=0;i<strs.length;i++){
                    out.write(strs[i]+",");
               }
        %>
        
        <c:forTokens items="${str}" delims="-" var="s">
                ${s },
        </c:forTokens>
     --%>
     
    
     <%--7.
        <c:rediect/>  重定向標(biāo)簽

        <c:redirect url="/03.el3.jsp"></c:redirect>
     --%>
</body>
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JSP 標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL) JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL)是一個(gè)JSP標(biāo)簽集合,它封裝了JSP應(yīng)用的通用核心功能...
    FTOLsXD閱讀 391評(píng)論 1 2
  • 1什么是JSTLJSTL是apache對(duì)EL表達(dá)式的擴(kuò)展(也就是說(shuō)JSTL依賴(lài)EL),JSTL是標(biāo)簽語(yǔ)言!JSTL...
    TY_閱讀 450評(píng)論 0 1
  • 一、JSP基礎(chǔ) 1.1什么是JSP JSP(Java ServerPage)是Java服務(wù)器端動(dòng)態(tài)頁(yè)面技術(shù)。是su...
    晨星資源閱讀 1,268評(píng)論 0 6
  • EL表達(dá)式 EL作用 jsp的核心語(yǔ)法: jsp表達(dá)式 <%=%>和 jsp腳本<% %> 以后開(kāi)發(fā)jsp的原則...
    奮斗的老王閱讀 2,549評(píng)論 1 51
  • JSP 基本結(jié)構(gòu)JSP 頁(yè)面組成:模板文本(HTML,XML,純文本),JSP 元素;JSP 元素:腳本元素,指令...
    jslancer閱讀 1,096評(píng)論 0 11

友情鏈接更多精彩內(nèi)容