91偷拍精品一区二区三区_欧美亚洲免费在线_日本不卡高清视频_中文字幕无码一区二区视频_日韩毛片无码一区二区三区,将夜 猫腻 小说,欢乐颂第二季,如何发布网络小说

?
    開發技術 / Technology
    您的當前位置:網站首頁 > 行業洞察 > 開發技術

    JSTL 核心標簽庫 使用

    日期:2015年2月3日  作者:zhjw  來源:互聯網    點擊:932

    JSTL 核心標簽庫 使用

     

    JSTL 核心標簽庫標簽共有13個,功能上分為4類:

    1.表達式控制標簽:outsetremovecatch

    2.流程控制標簽:ifchoosewhenotherwise

    3.循環標簽:forEachforTokens

    4.URL操作標簽:importurlredirect

    使用標簽時,一定要在jsp文件頭加入以下代碼:

    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

     

    下面分別對這些標簽進行說明:

    1. <c:out> 用來顯示數據對象(字符串、表達式)的內容或結果

    使用Java腳本的方式為:<% out.println("hello") %>  <% =表達式 %>

    使用JSTL標簽:<c:out value="字符串">,例如:

    <body>
      <c:out value="&lt要顯示的數據對象(未使用轉義字符)&gt" escapeXml="true" default="默認值"></c:out><br/>
      <c:out value="&lt要顯示的數據對象(使用轉義字符)&gt" escapeXml="false" default="默認值"></c:out><br/>
      <c:out value="${null}" escapeXml="false">使用的表達式結果為null,則輸出該默認值</c:out><br/>
    </body>

    那么網頁顯示效果為:

    2. <c:set> 用于將變量存取于 JSP 范圍中或 JavaBean 屬性中。下面的例子中假設已經有 Person.java 這個類文件。

     

    復制代碼
    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%@page contentType="text/html; charset=utf-8" %>
    
    <jsp:useBean id="person" class="lihui.Person"></jsp:useBean>
    
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>JSTL測試</title>
      </head>
      
      <body>
      <c:set value="張三" var="name1" scope="session"></c:set>
      <c:set var="name2" scope="session">李四</c:set>
      <c:set value="趙五" target="${person}" property="name"></c:set>
      <c:set target="${person}" property="age">19</c:set>
      <li>從session中得到的值:${sessionScope.name1}</li>
      <li>從session中得到的值:${sessionScope.name2}</li>
      <li>從Bean中獲取對象person的name值:<c:out value="${person.name}"></c:out></li>
      <li>從Bean中獲取對象person的age值:<c:out value="${person.age}"></c:out></li>
      </body>
    </html>
    復制代碼

    一共有四種語法格式,前兩種是給jsp的范圍變量賦值,后兩個是給 javabean 變量賦值

    效果如下:

     

    3.<c:remove> 主要用來從指定的 jsp 范圍內移除指定的變量。使用類似,下面只給出語法:

    <c:remove var="變量名" [scope="page|request|session|application"]></c:remove>


    4.<c:catch> 用來處理 JSP 頁面中產生的異常,并存儲異常信息

    <c:catch var="name1">

          容易產生異常的代碼

    </c:catch>

    如果拋異常,則異常信息保存在變量 name1 中。

    5.<c:if>

    <c:if test="條件1" var="name" [scope="page|request|session|application"]></c:remove>

    例:

    復制代碼
      <body>
      <c:set value="趙五" target="${person}" property="name"></c:set>
      <c:set target="${person}" property="age">19</c:set>
      <c:if test="${person.name == '趙武'}" var="name1"></c:if>
      <c:out value="name1的值:${name1}"></c:out><br/>
      <c:if test="${person.name == '趙五'}" var="name2"></c:if>
      <c:out value="name2的值:${name2}"></c:out>
      </body>
    復制代碼

    效果:

    6. <c:choose> <c:when> <c:otherwise> 三個標簽通常嵌套使用,第一個標簽在最外層,最后一個標簽在嵌套中只能使用一次

    例:

    復制代碼
        <c:set var="score">85</c:set>
        <c:choose>
        <c:when test="${score>=90}">
        你的成績為優秀!
        </c:when>
        <c:when test="${score>=70&&score<90}">
        您的成績為良好!
        </c:when>
        <c:when test="${score>60&&score<70}">
        您的成績為及格
        </c:when>
        <c:otherwise>
        對不起,您沒有通過考試!
        </c:otherwise>
        </c:choose>
    復制代碼

    7.<c:forEach>

    語法:<c:forEach var="name" items="Collection" varStatus="statusName" begin="begin" end="end" step="step"></c:forEach>

    該標簽根據循環條件遍歷集合 Collection 中的元素。 var 用于存儲從集合中取出的元素;items 指定要遍歷的集合;varStatus 用于存放集合中元素的信息。varStatus 一共有4種狀態屬性,下面例子中說明:

    復制代碼
     1 <%@ page contentType="text/html;charset=GBK" %>
     2 <%@page import="java.util.List"%>
     3 <%@page import="java.util.ArrayList"%>
     4 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
     5 <html>
     6 <head>
     7     <title>JSTL: -- forEach標簽實例</title>
     8 </head>
     9 <body>
    10 <h4><c:out value="forEach實例"/></h4>
    11 <hr>
    12     <% 
    13         List a=new ArrayList();
    14         a.add("貝貝");
    15         a.add("晶晶");
    16         a.add("歡歡");
    17         a.add("瑩瑩");
    18         a.add("妮妮");
    19     request.setAttribute("a",a);
    20 %>
    21     <B><c:out value="不指定begin和end的迭代:" /></B><br>
    22     <c:forEach var="fuwa" items="${a}">
    23     &nbsp;<c:out value="${fuwa}"/><br>
    24     </c:forEach>
    25     <B><c:out value="指定begin和end的迭代:" /></B><br>
    26     <c:forEach var="fuwa" items="${a}" begin="1" end="3" step="2">
    27     &nbsp;<c:out value="${fuwa}" /><br>
    28     </c:forEach>
    29     <B><c:out value="輸出整個迭代的信息:" /></B><br>
    30     <c:forEach var="fuwa" items="${a}" begin="3" end="4" step="1" varStatus="s">
    31     &nbsp;<c:out value="${fuwa}" />的四種屬性:<br>
    32     &nbsp;&nbsp;所在位置,即索引:<c:out value="${s.index}" /><br>
    33     &nbsp;&nbsp;總共已迭代的次數:<c:out value="${s.count}" /><br>
    34     &nbsp;&nbsp;是否為第一個位置:<c:out value="${s.first}" /><br>
    35     &nbsp;&nbsp;是否為最后一個位置:<c:out value="${s.last}" /><br>
    36     </c:forEach>
    37 </body>
    38 </html>
    復制代碼

    顯示效果:

    8.<c:forTokens> 用于瀏覽字符串,并根據指定的字符串截取字符串
    語法:<c:forTokens items="stringOfTokens" delims="delimiters" [var="name" begin="begin" end="end" step="len" varStatus="statusName"]></c:forTokens>

    還是看個例子吧:

    復制代碼
     1 <%@ page contentType="text/html;charset=GBK"%>
     2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
     3 <html>
     4     <head>
     5         <title>JSTL: -- forTokens標簽實例</title>
     6     </head>
     7     <body>
     8         <h4>
     9             <c:out value="forToken實例" />
    10         </h4>
    11         <hr>
    12         <c:forTokens items="北、京、歡、迎、您" delims="、" var="c1">
    13             <c:out value="${c1}"></c:out>
    14         </c:forTokens>
    15         <br>
    16         <c:forTokens items="123-4567-8854" delims="-" var="t">
    17             <c:out value="${t}"></c:out>
    18         </c:forTokens>
    19         <br>
    20         <c:forTokens items="1*2*3*4*5*6*7" delims="*" begin="1" end="3"
    21             var="n" varStatus="s">
    22     &nbsp;<c:out value="${n}" />的四種屬性:<br>
    23         &nbsp;&nbsp;所在位置,即索引:<c:out value="${s.index}" />
    24             <br>
    25         &nbsp;&nbsp;總共已迭代的次數:<c:out value="${s.count}" />
    26             <br>
    27         &nbsp;&nbsp;是否為第一個位置:<c:out value="${s.first}" />
    28             <br>
    29         &nbsp;&nbsp;是否為最后一個位置:<c:out value="${s.last}" />
    30             <br>
    31         </c:forTokens>
    32     </body>
    33 </html>
    復制代碼

    顯示結果:

     9.URL 操作標簽

    (1)<c:import> 把其他靜態或動態文件包含到 JSP 頁面。與<jsp:include>的區別是后者只能包含同一個web應用中的文件,前者可以包含其他web應用中的文件,甚至是網絡上的資源。

    語法:<c:import url="url" [context="context"] [value="value"] [scope="..."] [charEncoding="encoding"]></c:import>

            <c:import url="url"  varReader="name" [context="context"][charEncoding="encoding"]></c:import>

     看個例子:

    復制代碼
     1 <%@ page contentType="text/html;charset=GBK"%>
     2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
     3 <html>
     4     <head>
     5         <title>JSTL: -- import標簽實例</title>
     6     </head>
     7     <body>
     8         <h4>
     9             <c:out value="import實例" />
    10         </h4>
    11         <hr>
    12         <h4>
    13             <c:out value="絕對路徑引用的實例" />
    14         </h4>
    15         <c:catch var="error1">
    16             <c:import url="http://www.baidu.com" />
    17         </c:catch>
    18         <c:out value="${error1}"></c:out>
    19         <hr>
    20         <h4>
    21             <c:out value="相對路徑引用的實例,引用本應用中的文件" />
    22         </h4>
    23         <c:catch>
    24             <c:import url="a1.txt" charEncoding="gbk" />
    25         </c:catch>
    26         <hr>
    27         <h4>
    28             <c:out value="使用字符串輸出、相對路徑引用的實例,并保存在session范圍內" />
    29         </h4>
    30         <c:catch var="error3">
    31             <c:import var="myurl" url="a1.txt" scope="session" charEncoding="gbk"></c:import>
    32             <c:out value="${myurl}"></c:out>
    33             <c:out value="${myurl}" />
    34         </c:catch>
    35         <c:out value="${error3}"></c:out>
    36     </body>
    37 </html>
    復制代碼

    顯示結果:

     

    URL路徑有個絕對路徑和相對路徑。相對路徑:<c:import url="a.txt"/>那么,a.txt必須與當前文件放在同一個文件目錄下。如果以"/"開頭,表示存放在應用程序的根目錄下,如Tomcat應用程序的根目錄文件夾為 webapps。導入該文件夾下的 b.txt 的編寫方式: <c:import url="/b.txt">。如果要訪問webapps管理文件夾中的其他Web應用,就要用context屬性。例如訪問demoProj下的index.jsp,則:<c:import url="/index.jsp" context="/demoProj"/>.

    (2)<c:redirect> 該標簽用來實現請求的重定向。例如,對用戶輸入的用戶名和密碼進行驗證,不成功則重定向到登錄頁面。或者實現Web應用不同模塊之間的銜接

    語法:<c:redirect url="url" [context="context"]/>

      或:<c:redirect url="url" [context="context"]>

                <c:param name="name1" value="value1">

           </c:redirect>

    看個例子:

    1 <%@ page contentType="text/html;charset=GBK"%>
    2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    3 <c:redirect
        
    主站蜘蛛池模板: 崇阳县| 吉木乃县| 高密市| 西贡区| 巴南区| 新安县| 屏东县| 布尔津县| 逊克县| 象州县| 凤冈县| 昌黎县| 鲜城| 高邑县| 北碚区| 隆昌县| 昌江| 昂仁县| 托克托县| 兴仁县| 运城市| 乃东县| 金川县| 恩施市| 当涂县| 平和县| 武陟县| 苏尼特左旗| 隆林| 衡水市| 望都县| 嘉祥县| 大同市| 东明县| 青海省| 金昌市| 宁海县| 横山县| 方城县| 措勤县| 郑州市|