jsp引用JSTL核心標籤庫

1、引用JSTL

一、  JSTL的引入可讓JSP代碼中<%%>等代碼消失掉,再結合EL表達式,會更加方便以及美觀。html

二、  各套框架(尚未學習,好比struts,SpringMVC等)都有本身的標籤庫,這時JSTL能夠做爲公共、通用的,橫行於各框架中。java

    操做:數據庫

      第一步:下載JSTL包apache

        下載地址:http://tomcat.apache.org/taglibs/數組

第二步,新建一個jsp頁面tomcat

 

  JSTl基本應用:服務器

  1.核心標籤庫:包括基本的語言功能,變量操做,流程控制等等。session

  2.國際化和格式化標籤庫:進行國際化操做和格式化操做,例如格式化時間等等。框架

  3.SQL標籤庫:主要用於對關係型數據庫的存儲操做。jsp

  4.XML標籤庫:主要用於對xml格式數據的操做。

  5.函數標籤庫:主要定義對字符串操做的函數庫,在EL表達式中運行。

  在上述五種標籤庫中,經常使用的有核心標籤庫、格式化標籤庫和函數標籤庫,在下面的內容中咱們將一 一給你們講解。

2、核心標籤庫

  1.多用途核心標籤

    1.1用於顯示的<c:out>

      <c:out>標籤是一個最經常使用的標籤,用於在JSP中顯示數據。

  NewFile.jsp代碼以下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL Hello World!</title>
</head>
<body>
<c:out value="Hello World"></c:out>
</body>
</html>

 

運行結果:

  1.2用於賦值的<c:set>標籤

    <c:set>標籤用於爲變量或Javabean中的變量屬性賦值的工做。

  NewFile.jsp代碼以下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:set value="this is andy" var="oneString"></c:set>
${oneString} //該示例將名爲"oneString"的變量賦值爲"this is andy",其中做用範圍爲page。 </body> </html>

 

 運行結果:

  1.3用於刪除的<C:remove>標籤

      <C:remove>標籤用於刪除存在於scope中的變量。

  NewFile.jsp代碼以下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:remove var="sampleValue" scope="session"></c:remove>
${sessionScope.sampleValue}
//該示例將存在於Session中名爲"sampleValue"的變量刪除。下一句EL表達式顯示該變量時,該變量已經不存在。
</body>
</html>

  1.4異常捕獲的<C:catch>標籤

    <C:catch>標籤容許在jsp也面中捕獲異常。它包含一個var屬性,是一個描述異常的變量。

    NewFile.jsp代碼以下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:catch>${param.sampleSingleValue[9]==3}</c:catch>
${err}
//當"${param.sampleSingValue[9]==3}"表達式有異常時,能夠從var屬性"err"獲得異常的內容,一般判斷"err"是否爲null來決定錯誤信息的提示。
</body>
</html>

 

 運行結果:

 

 2.條件控制標籤

   2.1用於判斷的<c:if>標籤

    <c:if>標籤用於簡單的條件語句。

下面看一個示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:if test="${paramValue.sampleValue[2]==12}" var="visits" >
    It is 12
</c:if><br>
${visits}
//判斷request請求提交的傳入控件數組參數中,下標爲「2」的控件內容是否爲「12」,若爲12則
//顯示「It is 12」。判斷結果保存在page範圍中的「visits」變量中。
</body> </html>

 

  2.2複雜的判斷<c:choose>、<c:when>、<c:otherwise>標籤  

    這三個標籤實現複雜條件判斷語句,相似「if,elseif」的條件語句。

    1.<c:choose>標籤沒有屬性,能夠被認爲是父標籤,<c:when>、<c:otherwise> 

      將做爲其子標籤來使用。

    2.<c:when>標籤等價於「if」語句,它包含一個test屬性,該屬性表示須要判斷的條件。

    3.<c:otherwise>標籤沒有屬性,它等價於「else」語句。

 

下面看一個複雜條件語句的示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<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 十一、十二、13
</c:otherwise>
</c:choose>
//判斷request請求提交的傳入控件數組參數中,下標爲「2」控件內容是否爲「11」或「12」或「13」,並根據判斷結果顯示各自的語句,若都不是則顯示「not 十一、十二、13」 </body> </html>

 

運行結果:

   2.3<c:import>檢索一個絕對或相對 URL,而後將其內容暴露給頁面

      <c:import>標籤提供了全部<jsp:include>行爲標籤所具備的功能,同時也容許包含絕對URL。

      舉例來講,使用<c:import>標籤能夠包含一個FTP服務器中不一樣的網頁內容。

    語法格式:

<c:import
   url="<string>"
   var="<string>"
   scope="<string>"
   varRender="<string>"
   context="<string>"
   charEncoding="<string>"/>

 

    <c:import>的屬性:

    

    下面來看示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:import 標籤實例</title>
</head>
<body>
<c:import var="data" url="http://www.baidu.com"/>
<c:out value="${data}"/>
</body>
</html>

 

 

3.循環控制標籤

  3.1循環<c:forEach>標籤

      基礎迭代標籤,接受多種集合類型爲循環控制標籤。

<c:forEach>標籤有以下屬性:

  

  <c:forEach>語法格式:

<c:forEach
    items="<object>"
    begin="<int>"
    end="<int>"
    step="<int>"
    var="<string>"
    varStatus="<string>">

    ...

 

   <c:forEach>示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:forEach 標籤實例</title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
   Item <c:out value="${i}"/><p>
</c:forEach>
</body>
</html>

 

  運行結果: 
Item 1
Item 2
Item 3
Item 4
Item 5

 

   3.2分隔字符的<c:forTokens>標籤

     <c:forTokens>標籤能夠根據某個分隔符指定字符串,至關於Java.util.StirngTokenizer類。

  <c:forTokens>標籤與<c:forEach>標籤有類似的屬性,不過<c:forTokens>還有另外一個屬性:

屬性 描述 是否必要 默認值
delims 分隔符

 

<c:forTokens>語法格式:

<c:forTokens
    items="<string>"
    delims="<string>"
    begin="<int>"
    end="<int>"
    step="<int>"
    var="<string>"
    varStatus="<string>">

<c:forTokens>示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:forTokens 標籤實例</title>
</head>
<body>
<c:forTokens items="google,runoob,taobao" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>

 

運行結果:

google
runoob
taobao

 

 

未完待續......

相關文章
相關標籤/搜索