JSP標準標簽庫、通用標簽

JSP標準標簽庫、通用標簽

JSP標準標簽庫(JSP Standard Tag Library,JSTL)是實現Web應用程序中常見的通用功能的定制標簽庫集,程序員使用JSTL標簽來避免在JSP頁面中使用腳本。本章將介紹JSTL的應用基礎、如何從表示層刪除源代碼來簡化軟件的維護。

JSTL概述

JSTL英文全稱是“JSP Standard Tag Library”,即JSP標準標簽庫之意。

JSTL是由JCP(Java Commnunity Process)指定的標準規范,是一組形如html的標簽,使得程序員即使不需要學習Java也可以編寫動態Web頁。自2002年中期發佈後,它已成為JSP平臺的一個標準組成部分。

JSTL提供瞭諸如循環、條件、數據庫訪問、XML處理、國際化等開發上的工具和流程。

目前最新的版本為1.2,是一個正在不斷開發和完善的開放源代碼的JSP標簽庫,它支持多種標簽。

JSTL分成瞭5大類

功能范圍 URI 前綴

核心標簽庫(Core)https://java.sun.com/jsp/jstl/core c

國際化/格式化標簽庫(i18n)https://java.sun.com/jsp/jstl/fmt fmt

數據庫標簽庫(SQL)https://java.sun.com/jsp/jstl/sql sql

XML標簽庫(XML)https://java.sun.com/jsp/jstl/xml x

Functions標簽庫(Functions)https://java.sun.com/jsp/jstl/functions fn

獲取JSTL所需要的JAR包。

通過官方網站(https://www.apache.org/dist/jakarta/taglibs/standard)下載,獲取API裡面的jstl.jar、standard.jar。

使用MyEclipse自帶的驅動包。使用MyEclipse創建Web工程時,選擇“JSTL Support”選項。

Core標簽庫

核心標簽庫主要包括通用標簽、條件標簽、迭代標簽和與URL相關的標簽。

在使用Core標簽庫的JSP文件的開始部分,添加代碼:

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

通用標簽

標簽

用於將表達式的結果輸出到當前的JspWriter對象中。其功能類似於JSP的表達式<%= %>,或者EL表達式${}。

語法

//value要輸出的值,可以是EL表達式或常量

//為true時,對輸出內容中的<、>、“、‘和&字符進行轉義,分別轉成<、>、'、"和&

default value //value值為空時所輸出的內容

標簽

標簽用於輸出一段文本內容到pageContext對象當前保存的“out”對象中。

標簽

標簽用於把某一個對象存在指定的域范圍內,或者設置Web域中的java.util.Map類型的屬性對象或JavaBean類型的屬性對象的屬性。

語法

將value的值保存到名為name的變量中,同時name變量保存到選定的作用范圍中。例如,

value

將標簽體中的內容保存到名為name的變量中,同時name變量保存到選定的作用范圍中。例如,

sunwk

將value的值保存到target對象的propertyName屬性中。

value

將標簽體的內容保存到target對象的propertyName屬性中。

標簽

標簽用於移除JSP頁面中指定域范圍中的變量。

語法

//可以是page|request|session|application

標簽

標簽用於捕獲嵌套在標簽體內的內容拋出的異常對象,並將異常信息保存到變量中。

語法

body content

將可能發生異常的代碼放到該標簽中,如果發生異常,異常信息保存到name變量中。

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

<%@ page contentType="text/html;charset=gb2312" %>

對不起,沒有符合您要求的記錄。

符合您要求的記錄共有${count}條.

迭代標簽

標簽

標簽用於對包含瞭多個對象的集合進行迭代,重復執行它的標簽體,或者重復迭代固定的次數。

註意:

items屬性並不是一定要有的屬性,但是當沒有使用items屬性時,就一定要使用begin和end屬性。

varStatus:用來保存現有遍歷計數相關的信息。例如,如果varStatus=“i”,那麼會將相應信息放到名稱為i的變量中,i變量有四個屬性值,index、count、first和last。

標簽

標簽用來瀏覽一字符串中所有的成員,其成員是由定義符號(Delimiters)所分隔的。

註意:這個標記的使用效果相當於java.util.StringTokenizer類。將字符串“a:b:c:d”以“:”分隔符分開,token是循環到當前所分割得到的字符串。

URL相關的標簽

JSP網頁開發中經常用到超鏈接、頁面的包含和重定向等操作,在JSTL中,也提供瞭相應的標簽來完成這些功能,這些標簽包括、、和。

標簽:可以把其他靜態或者動態文件包含到本身的JSP頁面中。與JSP的動作的區別在於:隻能包含和自己在同一個Web應用中的文件,不僅能包含和自己在同一個Web應用下的文件,還可包含其他Web應用或其他網站的文件。

屬性

url屬性是必須要有的,它是用來設定被包含頁面的地址,可以是絕對地址也可以是相對地址。

url如果使用相對地址,把同一個Web應用中的文件引入的話,例如

還可使用絕對路徑,將其他網站的文件包含進來。例如

當var屬性存在時,把文件內容包含進來,但是它不輸出到網頁上,而是保存到var設定的變量中,而屬性scope設定該變量的作用范圍。

標簽

標簽在JSP頁面構造一個URL,它提供瞭3個功能元素,它們可以在URL前面附加當前Servlet上下文的名稱;可以為會話管理重寫URL;可以對請求參數名稱和值進行URL編碼,這些功能在為J2EE Web應用程序構造URL時特別有用。

標簽

標簽用於向用戶的瀏覽器發送HTTP重定向響應,它是JSTL中與javax.servlet.http.HttpServletResponse的sendRedirect()方法功能相當的標記。

標簽用於實現請求重定向

標簽

標簽的作用是為一個URL添加請求參數,在前面的、和標簽中都已經見過的用法。

在JSP頁面進行URL的相關操作時,經常要在URL地址後面附加一些參數。標簽可以嵌套在、或標簽內,為這些標簽所使用的URL地址附加參數。

標簽在為一個URL地址附加參數時,將自動對參數值進行URL編碼,例如,如果傳遞的參數值為“中國”,則將其轉換為“%d6%d0%b9%fa”後再附加到URL地址後面,這也就是使用標簽的最大好處。

發佈留言