官網(wǎng)下載地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
JSTL 1.1.2:http://yunpan.cn/cVzKgWgUeQNN8 訪問密碼 f55e
前言=========================================================================
JSTL標簽庫,是日常開發(fā)經(jīng)常使用的,也是眾多標簽中性能最好的。把常用的內容,放在這里備份一份,隨用隨查。盡量做到不用查,就可以隨手就可以寫出來。這算是java程序員的基本功吧,一定要扎實。
JSTL全名為jsp(JavaServer Pages) Standard Tag Library,目前最新的版本為1.2版。JSTL是由JCP(Java Community PRocess)所制定的標準規(guī)范,它主要提供給Java Web開發(fā)人員一個標準通用的標簽函數(shù)庫。Web程序員能夠利用JSTL和EL來開發(fā)Web程序,取代傳統(tǒng)直接在頁面上嵌入Java程序(Scripting)的做法,以提高程序的閱讀性、維護性和方便性。JSTL 1.2必須在支持Servlet 2.5且JSP 2.1以上版本的Container才可使用
<%@ taglib %>引入標簽庫
=========================================================================
1、以classPath中,加入jar包: standard.jar , jstl.jar
2、在jsp文件的頂部加入以下內容:
Java代碼<c:>核心標簽庫
==========================================================================
JSTL 核心標簽庫(C標簽)標簽共有13個,功能上分為4類:1.表達式控制標簽:out、set、remove、catch2.流程控制標簽:if、choose、when、otherwise3.循環(huán)標簽:forEach、forTokens4.URL操作標簽:import、url、redirect
<c:forEach>標簽
-------------------------------------------------------------------
為循環(huán)控制,它可以將集合(Collection)中的成員循序瀏覽一遍。
<c:forEach> 標簽的語法說明:
語法1:迭代一集合對象之所有成員
Html代碼語法2:迭代指定的次數(shù)
Html代碼<c:forEach> 標簽的屬性說明:
<c:forEach> 標簽的屬性 :varStatus屬性: 它的提供另外四個屬性:index,count,fist和last,它們個自的意義如下:
Java代碼<c:forEach> 遍歷 List列表:
對于一個基本類型的數(shù)組,當前元素將作為相應包裝類(Integer、Float等等)的一個實例提供。
Html代碼<c:forEach> 遍歷Map:
對于一個java.util.Map,當前元素則作為一個java.util.Map.Entry提供。
Html代碼<c:forTokens>標簽
-------------------------------------------------------------------
用來瀏覽一字符串中所有的成員,其成員是由定義符號(delimiters)所分隔的。
<c:forTokens> 標簽的語法說明:
Html代碼<c:forTokens> 標簽的屬性說明:
<c:out>標簽
-------------------------------------------------------------------
主要用來顯示數(shù)據(jù)的內容
<c:out> 標簽的語法說明:
語法1:沒有本體(body)內容
Html代碼語法2:有本體內容
Html代碼<c:forEach> 標簽的屬性說明:略
一般來說,<c:out>默認會將<、>、’、” 和 & 轉換為 <、>、'、" 和&。假若不想轉換時,只需要設定<c:out>的escapeXml屬性為fasle就可以了。
<c:set>標簽
-------------------------------------------------------------------
主要用來將變量儲存至JSP范圍中或是JavaBean的屬性中。
<c:set> 標簽的語法說明:
語法1:將value的值儲存至范圍為scope的 varName 變量之中
Html代碼語法2:將本體內容的數(shù)據(jù)儲存至范圍為scope的 varName 變量之中
Html代碼語法3:將 value的值儲存至 target 對象的屬性中
Html代碼語法4:將本體內容的數(shù)據(jù)儲存至target 對象的屬性中
Html代碼<c:set> 標簽的屬性說明:
<c:remove>標簽
-------------------------------------------------------------------
主要用來移除變量。
<c:remove> 標簽的語法說明:
Html代碼<c:catch>標簽
-------------------------------------------------------------------
主要用來處理產生錯誤的異常狀況,并且將錯誤信息儲存起來。
<c:catch> 標簽的語法說明:
Html代碼<c:if>標簽
-------------------------------------------------------------------
的用途就和我們一般在程序中用的if一樣。
<c:if> 標簽的語法說明:
語法1:沒有本體內容(body)
Html代碼語法2:有本體內容
Html代碼示例:
Html代碼c:choose> <c:when> <c:otherwise>標簽
-------------------------------------------------------------------
<c:choose when otherwise> 標簽的語法說明:
Html代碼<fmt:>格式 化標簽庫
==========================================================================
一:JSTL格式化標簽又稱為I18N標簽庫,主要用來編寫國際化的WEB應用,使用此功能可以對一個特定的語言請求做出合適的處理。
例如:中國內地用戶將顯示簡體中文,臺灣地區(qū)則顯示繁體中文,使用I18N格式化標簽庫還可以格式化數(shù)字和日期,例如同一數(shù)字或日趨,在不同國家可能有不同的格式,使用I18N格式標簽庫可以將數(shù)字和日期格式為當?shù)氐母袷健T贘SP頁面中要使用到格式化標簽,需要引入下面的語句:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"% >二:概覽
------------------------------------------------------------------- 格式化標簽 <fmt:fromatNumber> <fmt:formatDate> <fmt:parseDate> <fmt:parseNumber> <fmt:setTimeZone> <fmt:timeZone> 國際化標簽 <fmt:setLocale> <fmt:requestEncoding> <fmt:bundle> <fmt:message> <fmt:param> <fmt:setBundle>三:<fmt:formatNumber>
------------------------------------------------------------------- 此標簽會根據(jù)區(qū)域定制的方式將數(shù)字格式化成數(shù)字,貨幣,百分比。 此標簽的屬性: value:要格式化的數(shù)字 type:按照什么類型格式化 pattern:自定義格式化樣式 currencyCode:ISO-4721貨幣代碼,只適用于按照貨幣格式化的數(shù)字 currencySymbol: 貨幣符號,如¥,只適用于按照貨幣格式化的數(shù)字 groupingUsed: 是否包含分隔符 maxIntegerDigits: 整數(shù)部分最多顯示多少位 mixIntegerDigits: 整數(shù)部分最少顯示多少位 maxFractionDigits: 小數(shù)部分最多顯示多位位 minFractionDigits: 小數(shù)部分最少顯示多位位 var:存儲格式化后的結果 scope: 存儲的范圍 示例1:Java代碼<%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="fr_fr"/> <fmt:formatNumber value="123456789.012"/> <br/> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="123456789.012"/> <br /> <fmt:setLocale value="de_de"/> <fmt:formatNumber value="123456789.012"/> <br /> </div> </div> </body></html><%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="fr_fr"/> <fmt:formatNumber value="123456789.012"/> <br/> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="123456789.012"/> <br /> <fmt:setLocale value="de_de"/> <fmt:formatNumber value="123456789.012"/> <br /> </div> </div> </body></html> 注意:如果要實現(xiàn)國際化,那么編碼格式要設置為utf-8. 從程序運行效果可以看出,設定的區(qū)域不同,格式化數(shù)字的顯示也會不同.四:type屬性:可以是數(shù)字(number),貨幣(currency),百分比(percent) 示例2:Java代碼<%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="0.3" type="number"/><br /> <fmt:formatNumber value="0.3" type="currency"/><br /> <fmt:formatNumber value="0.3" type="percent"/><br /> </div> </div> </body></html><%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="0.3" type="number"/><br /> <fmt:formatNumber value="0.3" type="currency"/><br /> <fmt:formatNumber value="0.3" type="percent"/><br /> </div> </div> </body></html> currencyCode為貨幣代碼,例如美元為USD,人民幣為CNY等 currencySymbol為貨幣符號例如,人民幣為¥,美元為$。 如果不指定區(qū)域,則會根據(jù)語言區(qū)域自動選擇currencySymbol 示例3:Java代碼<%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="0.3" type="currency"/><br /> <fmt:setLocale value="en_Us"/> <fmt:formatNumber value="0.3" type="currency"/><br /> </div> </div> </body></html><%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="0.3" type="currency"/><br /> <fmt:setLocale value="en_Us"/> <fmt:formatNumber value="0.3" type="currency"/><br /> </div> </div> </body></html> currencySymbol屬性還可以自定義要顯示的頭標識,但是一定得type="currency"才會生效,例如:Java代碼<%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br /> <fmt:setLocale value="en_Us"/> <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br /> </div> </div> </body></html><%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>chapter4.jsp</title> </head> <body> <div> <div> <fmt:setLocale value="zh_cn"/> <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br /> <fmt:setLocale value="en_Us"/> <fmt:formatNumber value="0.3" type="currency" currencySymbol="#"/><br /> </div> </div> </body></html> 自定義數(shù)字樣式 <fmt:formatNumber value="12.31" pattern=".0000"/><br/> <fmt:formatNumber value="1234" pattern="###.##E0"/> 會顯示: 12.3100 1.234E3 會四舍五入 var:定義一個變量,存儲格式化后的結果,scope指定變量存儲的范圍.用法和前面講的標簽一致.五:<fmt:parseNumber>------------------------------------------------------------------- 此標簽用來將字符串類型的數(shù)字,貨幣或百分比轉換成數(shù)字類型,和<fmt:formatNumber>標簽的作用正好相反. value: 要轉換的字符串 type: 指定要轉換的字符串為什么類型,可取值:number,percent,currency pattern: 自定義格式化樣式 parseLocale: 指定區(qū)域來轉換字符串 IntegerOnly: 轉換后的數(shù)字是否只顯示整數(shù)部分 var: 存儲轉換后的結果 scope: 存儲的范圍 示例1: <fmt:parseNumber value="500,800,200"/> 顯示: 500800200 示例2: <fmt:parseNumber value="52%" type="percent" /> 顯示: 0.52 (52%在這里是一個字符串, type指定這個字符串是什么類型的值) 示例3: <fmt:parseNumber value="¥123" type="currency" /> 顯示123, ¥123在這里是一個字符串, type指定這個字符串是什么類型的值 示例4: <fmt:parseNumber value="123.333" type="number" /><br/> <fmt:parseNumber value="123.333" type="number" integerOnly="true"/><br/> 顯示: 123.333 123 integerOnly確定是否只顯示整數(shù)部分. 示例5: <fmt:parseNumber value="¥123.333" type="currency" parseLocale="zh_CN"/><br/> <fmt:parseNumber value="$123.333" type="currency" parseLocale="en_US"/><br/> parseLocale="en_US"主要是配合當type="currency"時用的, 如果要轉換貨幣的字符串類型為value="¥123.333",不設置語言環(huán)境的話,會取當前瀏覽器的默認設置,否則就要加上parseLocale="zh_CN",指定環(huán)境為中文環(huán)境 如果要轉換貨幣的字符串類型為value="$123.333",不設置語言環(huán)境的話,會取當前瀏覽器的默認設置,如果默認為zh_cn的話,程序會報錯的,否則就要加上parseLocale="en_US",指定環(huán)境為英文美國環(huán)境六:<fmt:formatDate />------------------------------------------------------------------- 此標簽可以將日期格式化. 屬性介紹: value 用來格式化的時間或日期 type 指定格式化的是日期還是時間,或者兩者都是取值范圍:date,time,both pattern 自定義格式化樣式 dateStyle 日期的格式化樣式 timeStyle 時間的格式化樣式 timeZone 指定使用的時區(qū) var 存儲格式化后的結果 scope 指定存儲的范圍
自定義格式:
--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy/MM/dd hh:mm:ss" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy-MM-dd HH:mm:ss" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy年MM月dd日 hh小時mm分鐘ss秒" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yy/MM/dd hh:mm:ss" /><br /><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy/MM/dd hh:mm:ss" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy-MM-dd HH:mm:ss" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yyyy年MM月dd日 hh小時mm分鐘ss秒" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" pattern="yy/MM/dd hh:mm:ss" /><br /> 注意這里小時 hh表示12小時制, HH代表24小時制
示例1:--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" /><br /><fmt:setLocale value="zh_tw" /><fmt:formatDate value="<%=new Date()%>" /><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" /><br /><fmt:setLocale value="zh_tw" /><fmt:formatDate value="<%=new Date()%>" />大家可以看到大陸和臺灣顯示日期的格式是有區(qū)別的. 顯示結果: 2009-12-7 2009/12/7 示例2:--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="time"/><br /><fmt:setLocale value="zh_tw" /><fmt:formatDate value="<%=new Date()%>" type="time"/><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="time"/><br /><fmt:setLocale value="zh_tw" /><fmt:formatDate value="<%=new Date()%>" type="time"/>顯示結果: 14:59:28 下午 02:59:28 type可取值及意義: date 格式化日期 time格式化時間 both格式化日期時間 示例3:
--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" /><br /><fmt:setLocale value="zh_tw" /><fmt:formatDate value="<%=new Date()%>" type="both" /><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" /><br /><fmt:setLocale value="zh_tw" /><fmt:formatDate value="<%=new Date()%>" type="both" />輸出結果: 2009-12-7 21:24:26 2009/12/7 下午 09:24:26 dateStyle用來設定日期顯示的樣式,其值可以是default, short, medium, long, full,請看示例:--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="default" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="short" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="medium" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="long" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="full" /><br /><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="default" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="short" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="medium" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="long" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" dateStyle="full" /><br />顯示結果如下: 2009-12-7 21:30:49 09-12-7 21:30:49 2009-12-7 21:30:49 2009年12月7日 21:30:49 2009年12月7日 星期一 21:30:49 可以看到dateStyle屬性只對日期部分起作用,時間部分沒有作用. timeStyle用來顯示時間部分的樣式,取值范圍同上--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="default" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="short" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="medium" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="long" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="full" /><br /><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="default" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="short" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="medium" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="long" /><br /><fmt:formatDate value="<%=new Date()%>" type="both" timeStyle="full" /><br />輸出: 2009-12-7 21:35:52 2009-12-7 下午9:35 2009-12-7 21:35:52 2009-12-7 下午09時35分52秒 2009-12-7 下午09時35分52秒 CST timeZone用來設定時區(qū),時區(qū)的意思類似于酒店里大堂放的幾個時鐘,比如現(xiàn)在時間會有北京時間,東京時間,紐約時間,倫墩時間, 取值范圍為:EST, CST, MST, PST--------------------------Java代碼<fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="EST" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="CST" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="MST" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="PST" /><br /><fmt:setLocale value="zh_cn" /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="EST" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="CST" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="MST" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" timeZone="PST" /><br /> 輸出結果: 下午09時41分37秒 CST 上午08時41分37秒 EST 上午07時41分37秒 CST 上午06時41分37秒 MST 上午05時41分37秒 PST七:<fmt:parseDate>------------------------------------------------------------------- 將字符串類型的時間轉換為日期類型. value 用來格式化的時間或日期的字符串 type 指定格式化的是日期還是時間,或者兩者都是取值范圍:date,time,both pattern 自定義格式化樣式 dateStyle 日期的格式化樣式 timeStyle 時間的格式化樣式 timeZone 指定使用的時區(qū) var 存儲格式化后的結果 scope 指定存儲的范圍 示例: <fmt:setLocale value="zh_cn" /> <fmt:parseDate type="date" value="2008-4-5"/> 輸出: Sat Apr 05 00:00:00 CST 2008, 這里已經(jīng)將字符串” 2008-4-5”轉換為了日期對象了.轉換一定得注意,類似于2008-4-5這樣的字符串,type必須為date,類似于12:34:56的字符串,type必須為time類似于2008-4-5 12:34:56這樣的字符串,type必須為both還要注意瀏覽器的語言環(huán)境的設置,如果為zh_tw,那么字符串就必須得符合當?shù)氐臉藴?如為2009/12/7 下午 09:24:26就正確轉換為日期對象,否則就會報錯.八:<fmt:setTimeZone>------------------------------------------------------------------- value 設定時區(qū) var 存儲設定的時區(qū) scope 存儲的范圍 value用來設定時區(qū),可以是EST,CST,MST,PST等,如果有var屬性,則將結果存儲在所設定的范圍之內.在屬性范圍內的頁面都會使用該時區(qū)為默認時區(qū).Java代碼<fmt:setLocale value="zh_cn" /><fmt:setTimeZone value="EST" /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:setLocale value="zh_cn" /><fmt:setTimeZone value="EST" /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br />輸出: 上午09時25分12秒 EST 上午09時25分12秒 EST 上午09時25分12秒 EST 此時區(qū)在該頁面內都有效九:<fmt:timeZone>------------------------------------------------------------------- 用來暫時設置時區(qū).Java代碼<fmt:setLocale value="zh_cn" /><fmt:timeZone value="EST"><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /></fmt:timeZone><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><fmt:setLocale value="zh_cn" /><fmt:timeZone value="EST"><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" /><br /></fmt:timeZone><fmt:formatDate value="<%=new Date()%>" type="time" timeStyle="full" />此標簽的時區(qū)只是部分,在標簽開始至標簽結束內有效,其它地方無效,其它地方還是會使用默認時區(qū)
<fn:>Function標簽庫
==========================================================================
JSTL Functions標簽庫中提供了一組常用的EL函數(shù),主要用于處理字符串,在JSP中可以直接使用這些函數(shù)。
在JSP文件中使用Functions標簽庫,要先通過taglib指令引入該標簽庫:
<%@taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn” %.
18.1fn:contains函數(shù)fn:contains函數(shù)用于判斷在源字符串中是否包含目標字符串,其語法為:
fn:contains(String source,String target) -------boolean;
以上source參數(shù)指定源字符串,target參數(shù)指定目標字符串,返回類型為boolean。
例如對于以下EL表達式:
${fn:contains(“Tomcat”,”cat”)}
${fn:contains(“Tomcat”,”CAT”)}
第一個EL表達式的值為true,第二個EL表達式的值為false。
18.2fn:containsIgnoreCase函數(shù)fn:containsIgnoreCase函數(shù)用于判斷在源字符串中是否包含目標字符串,并且在判斷時忽略大小寫,其語法為:
fn: containsIgnoreCase (String source,String target) -------boolean;
以上source參數(shù)指定源字符串,target參數(shù)指定目標字符串,返回類型為boolean。
例如對于以下EL表達式:
${fn: containsIgnoreCase (“Tomcat”,”CAT”)}
${fn: containsIgnoreCase (“Tomcat”,”Mike”)}
第一個EL表達式的值為true,第二個EL表達式的值為false。
18.3 fn:startsWith函數(shù)fn:startsWith函數(shù)用于判斷源字符串是否以指定的目標字符串開頭,其語法為:
fn:startsWith(String source,String target) ----boolean
以上source參數(shù)指定源字符串,target參數(shù)指定目標字符串,返回類型為boolean。
例如對于以下EL表達式:
${fn: startsWith (“Tomcat”,”Tom”)}
${fn: startsWith (“Tomcat”,”cat”)}
第一個EL表達式的值為true,第二個EL表達式的值為false。
18.4 fn:endsWith函數(shù)fn: endsWith函數(shù)用于判斷源字符串是否以指定的目標字符串結尾,其語法為:
fn: endsWith (String source,String target) ----boolean
以上source參數(shù)指定源字符串,target參數(shù)指定目標字符串,返回類型為boolean。
例如對于以下EL表達式:
${fn: endsWith (“Tomcat”,”cat”)}
${fn: endsWith (“Tomcat”,”Tom”)}
第一個EL表達式的值為true,第二個EL表達式的值為false。
18.5 fn:indexOf函數(shù)fn:indexOf函數(shù)用于在源字符串中查找目標字符串,并返回源字符串中最先與目標字符串匹配的第一個字符的索引,如果在源字符串中不包含目標字符串,就返回-1,源字符串中的第一個字符的索引為0。fn:indexOf函數(shù)的語法為:
fn: indexOf (String source,String target) ----int
以上source參數(shù)指定源字符串,target參數(shù)指定目標字符串,返回類型為int。
例如對于以下EL表達式:
1${fn: indexOf (“Tomcat”,”cat”)}<br/>
2${fn: indexOf (“2211221”,”21”)} <br/>
3${fn: indexOf (“Tomcat”,”Mike”)} <br/>
其輸出結果為:
13
21
3-1
18.6 fn:replace函數(shù)fn:replace函數(shù)用于把源字符串中的一部分替換為另外的字符串,并返回替換后的字符串。fn:replace函數(shù)的語法為:
fn: replace (String source,String before,String after) ----String
以上source參數(shù)指定源字符串,before參數(shù)指定源字符串中被替換的子字符串,after參數(shù)指定用于替換的子字符串,返回類型為String。
例如對于以下EL表達式:
1${ fn: replace(“TomcAt”,”cAt”,”cat”)}<br/>
2${ fn: replace(“2008/1/9”,”/”,”-”)}<br/>
其輸出結果為:
1Tomcat
22008-1-9
18.7 fn:substring函數(shù)fn:substring函數(shù)用于獲取源字符串中的特定子字符串,它的語法為:
fn:substring(String source,int beginIndex,int endIndex) ------String
以上source參數(shù)指定源字符串,beginIndex參數(shù)表示子字符串中的第一個字符在源字符串中的索引,endIndex參數(shù)表示子字符串的最后一個字符在源字符串中的索引加1,返回類型為String,源字符串中的第一個字符的索引為0。
例如對于以下EL表達式:
1${ fn: substring (“Tomcat”,0,3)}<br/>
2${ fn: substring (“Tomcat”,3,”6”)}<br/>
其輸出結果為:
1Tom
2cat
18.8 fn:substringBefore函數(shù)fn:substringBefore函數(shù)用于獲取源字符串中指定子字符串之前的子字符串,其語法為:
fn:substringBefore(String source,String target) ----String
以上source參數(shù)指定源字符串,target參數(shù)指定子字符串,返回類型為String。如果在源字符串中不包含特定子字符串,就返回空字符串。
例如對于以下EL表達式:
1${ fn: substringBefore (“Tomcat”,”cat”)}<br/>
2${ fn: substringBefore (“mydata.txt”,”.txt”)}<br/>
其輸出結果為:
1Tom
2mydata
18.9 fn:substringAfter函數(shù)fn: substringAfter函數(shù)用于獲取源字符串中指定子字符串之后的子字符串,其語法為:
fn: substringAfter (String source,String target) ----String
以上source參數(shù)指定源字符串,target參數(shù)指定子字符串,返回類型為String。如果在源字符串中不包含特定子字符串,就返回空字符串。
例如對于以下EL表達式:
1${ fn: substringAfter (“Tomcat”,”Tom”)}<br/>
2${ fn: substringAfter (“mydata.txt”,” mydata.”)}<br/>
其輸出結果為:
1cat
2txt
18.10 fn:split函數(shù)fn:split函數(shù)用于將源字符串拆分為一個字符串數(shù)組,其語法為:
fn: split (String source,String delimiter) ----String[]
以上source參數(shù)指定源字符串,delimiter參數(shù)指定用于拆分源字符串的分隔符,返回類型為String[]。如果在源字符串中不包含delimiter參數(shù)指定的分隔符,或者delimiter參數(shù)為null,那么在返回的字符串數(shù)組中只有一個元素,為源字符串。
例如對于以下EL表達式:
<c:set value=’${ fn: split (“www.mywebsite.org”,”.”)}’ var=”strs”/>
<c:forEach var=”token” item=”${strs}”>
${token}<br/>
</c:forEach>
其輸出結果為:
www
mywebsite
org
再例如對于以下代碼:
<c:set value=’${ fn: split (“www.mywebsite.org”,”-”)}’ var=”strs”/>
${strs[0]}
其輸出結果為:
www.mywebsite.org
18.11 fn:join函數(shù)fn:join函數(shù)用于將源字符串數(shù)組中的所有字符串連接為一個字符串,其語法為:
fn:join(String source[],String separator) ----String
以上source參數(shù)指定源字符串數(shù)組,separator參數(shù)指定用于連接源字符串數(shù)組中的各個字符串的分隔符,返回類型為String。
例如對于以下代碼:
<%
String strs[] = {“www”,”mywebsite”,”org”};
%>
<c:set value=”<%=strs%>” var=”strs”/>
${fn:join(strs,”.”)}
其輸出結果為:
www. mywebsite. org
18.12 fn:toLowerCase函數(shù)fn:toLowerCase函數(shù)用于將源字符串中的所有字符改為小寫,其語法為:
fn:toLowerCase(String source)-----String
以上source參數(shù)指定源字符串,返回類型為String。
例如對于以下EL表達式:
fn:toLowerCase(“TomCat”)
其輸出結果為:
tomcat
18.13 fn:toUpperCase函數(shù)fn: toUpperCase函數(shù)用于將源字符串中的所有字符改為大寫,其語法為:
fn: toUpperCase (String source)-----String
以上source參數(shù)指定源字符串,返回類型為String。
例如對于以下EL表達式:
fn: toUpperCase (“TomCat”)
其輸出結果為:
TOMCAT
18.14 fn:trim函數(shù)fn:trim函數(shù)用于將源字符串中的開頭和末尾的空格刪除,其語
新聞熱點
疑難解答