JSTL1.1學習-之核心庫
一.JSTL簡介
JSTL全名爲JSP Standard Tag Libaray(JSP標準標籤函數庫),目前最新的版本爲
1.1,它是由JCP(Java Commnunity Process)制定的標準規範,提供給我們一個標準通用的
標籤函數庫.主要分爲5大類:
(1)核心標籤庫(Core)
(2)I18N格式標籤庫(I18N-capable format tab libaray)
(3)SQL標籤庫(SQL tag libaray)
(4)XML標籤庫(XML tag libaray)
(5)函數標籤庫(Functions tag libaray)
二.使用JSTL的好處
Web程序員能供利用JSTL和EL來開發Web程序,取代傳統直接的在頁面上腳本的方式
(scriplet),提高程序的可讀性,易如維護,和開發。使得在視圖頁面上基本不用使用
腳本代碼的,從而頁面設計人員和標籤的功能開發人員分離,甚至頁面設計人員不用學
習JSP腳本語言
三.前提條件:
JSTL1.1必須在Servlet2.4和JSP2.0以上的容器才能正常工作
下載JSTL1.1
地址:http://jakarta.apache.org/builds/jakata-tablibs/releases/standard/
MyEclipse5.1以後的版本自帶了JSTL1.1
下載後把jstl.jar,standard.jar複製到你的web工程/WEB-INF/lib/目錄下,還有這
些標籤庫描述文件:c-1_0-rt.tld,c-1_0.tld,c.tld等等
在jsp頁面中添加
<%@ taglib uri=“uri” prefix=“prefix” %>
四.核心標籤庫(CTL)
功能表:
分類
功能分類
標籤名稱
Core
表達式操作
out、set、remove、catch
流程控制
if、choose、when、otherwise
迭代操作
forEach
forTokens
URL操作
import param
url param
redirect param
下面我們來具體看看:
* 表達式操作
1.< c:out value=“${value}” [escapeXml=“true | false”]
[default=“defaultvalue”] />
用途:頁面寫(出入)數據
屬性:
value 顯示得值,它是object類型,可以爲EL
escapeXml 是否是使用轉換符號,比如:< (<) 、 > ($gt)等等
default 設置默認值
2.< c:set>
< c:set value=“${value}” var=“unable-EL” scope=“unable-EL”
target=“${target}” property=“${property}” />
用途:變量設置
屬性:
value 設置變量的值、Object類型
var 設置變量的名稱、String類型、不能爲EL表達式
scope 設置變量的範圍、String類型、不能爲EL表達式、默認值:page、
可爲application,session,request
target 查找的JavaBean或java.util.Map對象,Object
property targer指定的對象的屬性
3.< c:remove>
< c:remove var=“variable” scope=“page | application | session
| request”/>
用途:變量容器去變量
屬性(均不能爲EL):
scope 變量存儲的範圍
var 爲變量名稱
4.< c:catch [var=“variable”] />
用途:捕捉異常
屬性:
var :用類存儲錯誤信息的變量
* 流程控制
1.< c:if test=“${value1 == value2}” var=“save_test_result” scope=“
application | request | ….” />
判斷語句
屬性:
test 爲Boolean類型、邏輯表達式結果
var 爲String類型,保存test的結果,爲”true”|”false”
scope 爲String類型、變量var的存儲範圍
2.< c:choose>
爲< c:when>、< c:otherwise>的父標籤
主題內容(BodyContent)
1或多個< c:when>
0或多個< c:otherwise>
例如:
< c:choose>
< c:when/>
< c:otherwise>
< c:when/>
< /c:choose>
3.< c:when>
用法和< c:if>差不多,但是它必須在< c:otherwise>之前(相當於if必須
在else之前)
屬性:
test 和c:if test屬性一樣
4.< c:otherwise>
相當於else語句,當<c:when>的條件不成立時,運行其主題內容
比如:
< c:when test=“${user.role == “admin”}” >
< c:out value=“你好管理員先生:${user.name}”/>
< /c:when>
< c:otherwise >
<c:out value=“你好!”/>
< /c:otherwise>
* 迭代操作
1.< c:forEach var=“unable-el” item=“Collection” [varStatus=
“unable-el”] [begin=“begin-index”] [end=“end-index”] [step=“step-
length”]>
在Collection對象中迭代操作
屬性:
var: 變量名稱,String類型,不能爲EL
Item:Collection對象, 可以爲EL
varStatus:變量的成員信息,String類型,不能爲EL
begin:迭代時候的變量開始位置,int類型,默認值:0
end:迭代時候的變量結束位置,int類型
step:爲步長,int類型,默認值爲1
2.< c:forTokens item=“StringTokens” delims=“delimiters” [var=
“variableName”] [varStatuts=“uanble-el”] [begin=“begin-index”] [end=
“end-index”] [step=“step-length”] >BodyContent< /c:forTokens>
從StringToken利用界定符號迭代
屬性:
var: 變量名稱,String類型,不能爲EL
Item:String對象,多爲正則表達式, 可以爲EL
varStatus:變量的成員信息,String類型,不能爲EL
begin:迭代時候的變量開始位置,int類型,默認值:0
end:迭代時候的變量結束位置,int類型
step:爲步長,int類型,默認值爲1
* URL操作
1.BodyContent
用於把其他靜態或動態的文件包含至本身的JSP頁面。又區別於,他不但能夠包含自身web
應用程序的文件,還能夠 包含不同的web應用程序的的文件。
屬性
uri 文件包含的地址 String類型
context 在相同容器下,不同的web站臺必須”/”開頭,String類型
var: 變量名稱,存儲文件中的內容,String類型,不能爲EL
scope 爲String類型、變量var的存儲範圍,不能爲EL
charEncoding 文件內容的編碼 String類型
varReader 以Reader對象的形式存儲文件中的內容,不能爲EL
2.< c:param name=“${name}” value=“${param.name}” />
請求中的參數
屬性:
name : 參數名稱 ,String類型
value : 對應參數的值
比如:
< c:import url=“www.xxxx.com “ >
<c:param name=“name” value=“yourname” />
< /c:import >
等同於:
http://www.xxxx.com?name=yourname
3.< c:url value=“${value}” [context=“${context}”] [var=“varName
”] [scope=“application | request”] />
產生一個url,其中主題內容必須文
屬性:
value url地址 String類型
context 在相同容器下,不同的web站臺必須”/”開頭,String類型
var: 變量名稱,存儲文件中的內容,String類型,不能爲EL
scope 爲String類型、變量var的存儲範圍,不能爲EL
比如:
< img src=“<c:url value=‘www.xxxx.com’ >< c:param name=‘picture’
value=‘picName’/></c:url>” />
< img src=“www.xxxx.com/?pictue=picName” />
4.< c:redirect url=“${url}” [context=“${context}”] />
從定向到url
屬性:
uri 文件包含的地址 String類型
context 在相同容器下,不同的web站臺必須”/”開頭,String類型
比如:
< c:redirect url=“<c:url value=‘www.xxxx.com’>< c:param name=‘
paramName’ value=‘paramName’ /></c:url>” context=“/contextName” />
等同< c:redirect url=“< c:url value=‘www.xxxx.com’ /></c:url>”
context=“/contextName” >< c:param name=“paramName” value=‘paramValue’
/></c:redirect>
JSTL全名爲JSP Standard Tag Libaray(JSP標準標籤函數庫),目前最新的版本爲
1.1,它是由JCP(Java Commnunity Process)制定的標準規範,提供給我們一個標準通用的
標籤函數庫.主要分爲5大類:
(1)核心標籤庫(Core)
(2)I18N格式標籤庫(I18N-capable format tab libaray)
(3)SQL標籤庫(SQL tag libaray)
(4)XML標籤庫(XML tag libaray)
(5)函數標籤庫(Functions tag libaray)
二.使用JSTL的好處
Web程序員能供利用JSTL和EL來開發Web程序,取代傳統直接的在頁面上腳本的方式
(scriplet),提高程序的可讀性,易如維護,和開發。使得在視圖頁面上基本不用使用
腳本代碼的,從而頁面設計人員和標籤的功能開發人員分離,甚至頁面設計人員不用學
習JSP腳本語言
三.前提條件:
JSTL1.1必須在Servlet2.4和JSP2.0以上的容器才能正常工作
下載JSTL1.1
地址:http://jakarta.apache.org/builds/jakata-tablibs/releases/standard/
MyEclipse5.1以後的版本自帶了JSTL1.1
下載後把jstl.jar,standard.jar複製到你的web工程/WEB-INF/lib/目錄下,還有這
些標籤庫描述文件:c-1_0-rt.tld,c-1_0.tld,c.tld等等
在jsp頁面中添加
<%@ taglib uri=“uri” prefix=“prefix” %>
四.核心標籤庫(CTL)
功能表:
分類
功能分類
標籤名稱
Core
表達式操作
out、set、remove、catch
流程控制
if、choose、when、otherwise
迭代操作
forEach
forTokens
URL操作
import param
url param
redirect param
下面我們來具體看看:
* 表達式操作
1.< c:out value=“${value}” [escapeXml=“true | false”]
[default=“defaultvalue”] />
用途:頁面寫(出入)數據
屬性:
value 顯示得值,它是object類型,可以爲EL
escapeXml 是否是使用轉換符號,比如:< (<) 、 > ($gt)等等
default 設置默認值
2.< c:set>
< c:set value=“${value}” var=“unable-EL” scope=“unable-EL”
target=“${target}” property=“${property}” />
用途:變量設置
屬性:
value 設置變量的值、Object類型
var 設置變量的名稱、String類型、不能爲EL表達式
scope 設置變量的範圍、String類型、不能爲EL表達式、默認值:page、
可爲application,session,request
target 查找的JavaBean或java.util.Map對象,Object
property targer指定的對象的屬性
3.< c:remove>
< c:remove var=“variable” scope=“page | application | session
| request”/>
用途:變量容器去變量
屬性(均不能爲EL):
scope 變量存儲的範圍
var 爲變量名稱
4.< c:catch [var=“variable”] />
用途:捕捉異常
屬性:
var :用類存儲錯誤信息的變量
* 流程控制
1.< c:if test=“${value1 == value2}” var=“save_test_result” scope=“
application | request | ….” />
判斷語句
屬性:
test 爲Boolean類型、邏輯表達式結果
var 爲String類型,保存test的結果,爲”true”|”false”
scope 爲String類型、變量var的存儲範圍
2.< c:choose>
爲< c:when>、< c:otherwise>的父標籤
主題內容(BodyContent)
1或多個< c:when>
0或多個< c:otherwise>
例如:
< c:choose>
< c:when/>
< c:otherwise>
< c:when/>
< /c:choose>
3.< c:when>
用法和< c:if>差不多,但是它必須在< c:otherwise>之前(相當於if必須
在else之前)
屬性:
test 和c:if test屬性一樣
4.< c:otherwise>
相當於else語句,當<c:when>的條件不成立時,運行其主題內容
比如:
< c:when test=“${user.role == “admin”}” >
< c:out value=“你好管理員先生:${user.name}”/>
< /c:when>
< c:otherwise >
<c:out value=“你好!”/>
< /c:otherwise>
* 迭代操作
1.< c:forEach var=“unable-el” item=“Collection” [varStatus=
“unable-el”] [begin=“begin-index”] [end=“end-index”] [step=“step-
length”]>
在Collection對象中迭代操作
屬性:
var: 變量名稱,String類型,不能爲EL
Item:Collection對象, 可以爲EL
varStatus:變量的成員信息,String類型,不能爲EL
begin:迭代時候的變量開始位置,int類型,默認值:0
end:迭代時候的變量結束位置,int類型
step:爲步長,int類型,默認值爲1
2.< c:forTokens item=“StringTokens” delims=“delimiters” [var=
“variableName”] [varStatuts=“uanble-el”] [begin=“begin-index”] [end=
“end-index”] [step=“step-length”] >BodyContent< /c:forTokens>
從StringToken利用界定符號迭代
屬性:
var: 變量名稱,String類型,不能爲EL
Item:String對象,多爲正則表達式, 可以爲EL
varStatus:變量的成員信息,String類型,不能爲EL
begin:迭代時候的變量開始位置,int類型,默認值:0
end:迭代時候的變量結束位置,int類型
step:爲步長,int類型,默認值爲1
* URL操作
1.BodyContent
用於把其他靜態或動態的文件包含至本身的JSP頁面。又區別於,他不但能夠包含自身web
應用程序的文件,還能夠 包含不同的web應用程序的的文件。
屬性
uri 文件包含的地址 String類型
context 在相同容器下,不同的web站臺必須”/”開頭,String類型
var: 變量名稱,存儲文件中的內容,String類型,不能爲EL
scope 爲String類型、變量var的存儲範圍,不能爲EL
charEncoding 文件內容的編碼 String類型
varReader 以Reader對象的形式存儲文件中的內容,不能爲EL
2.< c:param name=“${name}” value=“${param.name}” />
請求中的參數
屬性:
name : 參數名稱 ,String類型
value : 對應參數的值
比如:
< c:import url=“www.xxxx.com “ >
<c:param name=“name” value=“yourname” />
< /c:import >
等同於:
http://www.xxxx.com?name=yourname
3.< c:url value=“${value}” [context=“${context}”] [var=“varName
”] [scope=“application | request”] />
產生一個url,其中主題內容必須文
屬性:
value url地址 String類型
context 在相同容器下,不同的web站臺必須”/”開頭,String類型
var: 變量名稱,存儲文件中的內容,String類型,不能爲EL
scope 爲String類型、變量var的存儲範圍,不能爲EL
比如:
< img src=“<c:url value=‘www.xxxx.com’ >< c:param name=‘picture’
value=‘picName’/></c:url>” />
< img src=“www.xxxx.com/?pictue=picName” />
4.< c:redirect url=“${url}” [context=“${context}”] />
從定向到url
屬性:
uri 文件包含的地址 String類型
context 在相同容器下,不同的web站臺必須”/”開頭,String類型
比如:
< c:redirect url=“<c:url value=‘www.xxxx.com’>< c:param name=‘
paramName’ value=‘paramName’ /></c:url>” context=“/contextName” />
等同< c:redirect url=“< c:url value=‘www.xxxx.com’ /></c:url>”
context=“/contextName” >< c:param name=“paramName” value=‘paramValue’
/></c:redirect>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.