native2ascii -encoding utf-8 resources_t.properties resources_zh_CN.properties

 

 

JSTL(JavaServer Pages Standard Tag Library)
包括5個標記庫
.Core標記庫
.Format標記庫
.XML標記庫
.SQL標記庫
.Function標記庫

最新的版本:JSTL1.2
Java EE 5的標準技術

Core http://java.sun.com/jsp/jstl/core  c   //核心標記庫,處理循環,變量
Format http://java.sun.com/jsp/jstl/fmt fmt //時間日期,國際化
SQL  http://java.sun.com/jsp/jstl/sql sql   //SQL操作
XML  http://java.sun.com/jsp/jstl/xml xml //xml操作
Function http://java.sun.com/jsp/jstl/function  fn //字符串有關的操作


例子程序
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
用戶名:<c:out value="${username}"/>

下載安裝JSTL
http://www.apache.org/dist/jakarta/taglibs/standard/
MYEXCLIPSE 已經有了JSTL

Core標記庫
操作變量:out,set,remove.catch
條件操作:if,choose,when,otherwise
循環操作:forEach,forTokens
URL操作:import,url,redirect,param
語法
<c:out value="value" [escapeXml="{true|false}"] default="defaultValue"]/>
或者<c:out value="value" [escapeXml="{true|false}"]>
</c:out>
屬性

屬性名   描述   EL 必須  缺省值

value   需要輸出的值,可以是EL表達式或常量 可以 是 無
default  value值為空時所輸出的內容  可以 否 無
escapeXml 為true對輸出內容中的<,>,',",和&字符進行轉義,分別轉成&lt,&gt,',"
  和"和&amp.為false就不進行轉義    可以 否 true

 

 

語法
<c:set var="name" value="value"/>
<c:set var="name" value="value>
</c:set>
<c:set value="value" target="target" property="propertyName"/>
<c:set target="target" property="propertyName">
value
</c:set>
屬性  描述   EL  是否必須 缺省值
value 要保存的內容,可以是EL表達式 可以  是  無
target 要修改屬性的對象名,一般為JavaBeans對象名 可以 否  無
property 要修改的JvaBeans的屬性 可以  否  無
var  要保存內容的變量名 否  是  無
scope  要保存內容的變量的作用范圍 否 否  page

 


<c:remove var="name" scope="page|request|session|application"/>
屬性

屬性名  描述   EL  是否必須 缺省值
var 被刪除的變量名字  否   是  無
scope 被刪除變量的作用范圍  否 否 page,request,session,application//依次查

 

 

捕獲違例
語法
<c:catch var="name">
body content
</c:catch>
屬性   描述   EL  是否必須 缺省值
var  用來保存違例信息的變量名 否  否  無

 

語法
<c:if test="condition" var="name" scope="page|request|session|application"/>
<c:if ....>
</c:if>
屬性   描述  EL  是否必須  缺省值
test 判斷所要使用的條件  可以  是   無
var 保存條件結果的變量的名稱 否  否   無
scope 保存條件結果的變量的作用范圍 否  否   page

 

<c:choose>
body content(<when>and<otherwise>)
</c:choose>

<c:when test="condition">
body content
</c:when>
屬性  描述       動態   是否必須 缺省值
test 如果它的結果為true,執行<c:when>所 可以  是  無
 包含的內容,false則不執行<c:when>
 所包含的內容

<c:otherwise>
body content
</c:otherwise>


<c:forEach var="name" items="collection" varStatus="varStatusName" begin="begin" end="end"
step="step">
body content
</c:forEach>

屬性 描述   EL 是否必須 類型  缺省值
begin 開始下標  可以 否  int  0
end 結束下標  可以 否  int 集合中的最后一個成員索引
step 步長   可以 否  int 1
var 代表當前成員的變量名 否 否  String   無
items 進行循環的集合  否 否  String數組MapCollectiontIteratorEnumeration無 
varStatus 顯示循環狀態的變量 可以 否 String   無


使用varStatus屬性
名稱  類型    描述
index   int 現在所操作的成員的索引
count  int  總共所操作的成員的總數
first  boolean 現在所操作的成員,是否為第一個成員
last  boolean 現在所操作的成員,是否為最后一個成員

 

對字符串進行分割
<c:forTokens items="stringOfTokens" delims="delimiters" [var="name"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
body content
</c:forTokens>
屬性  描述  EL  是否必須  缺省值
items 進行迭代處理的變量 可以  是   無
delims 分割符號  可以  是   無
begins 開始下標  可以  否   0
end 結束下標  可以  否  集合中的最后一個成員的索引
step 步長   可以  否   1


屬性  描述  EL  是否必須  缺省值
var 代表當前成員的變量的名稱 否 否   無
varStatus 包含遍歷狀態的變量 否 否   無

 


把另外一個頁面的內容引到當前頁面來
<c:import url="url" [content="content"] [var="name"] [scope="{page|request|session|applocation}"] [charEncoding="charEncoding"]>
<c:param>
</c:import>

<c:import url="url" [context="context"] varReader="varReaderName" [charEncoding="charEncoding"]>
body content
</c:import>
屬性 描述    EL 是否必須  缺省值
url 需要導入頁面的url地址 是  是   無
context 本地Web應用的名字 是  否   當前應用的名字
charEncoding 設置導入數據的字符編碼 是 否   ISO-8859-1
var 接受導入文本的變量名稱  否 否   無
scope 接受導入文本內容的變量的作用范圍否 否   page
varReader 用于接受導入文本的java.io.Reader變量的名稱 否 否    無


<c:url value="value" [context="context"] [var="name"] [scope="{page|request|session|application}"]/>

<c:url value="value" [context="context"] [var="name"] [scope="{page|request|session|application}"]>
<c:param/>
</ c:url>
屬性 描述    EL  是否必須 缺省值
value url地址    是 是  無
context Web應用的名字   是 否  當前Web應用的名字
var 保存url地址的變量的名稱  否 否  輸出到當前頁面
scope 存儲url地址的變量的作用范圍 否 否  page

<c:redirect url="value" [context="context"]/>
<c:redirect url="value" [context="context"]>
<c:param/>
</c:redirect>
屬性  描述   是否必須  缺省值
url  url地址   是   無
context  要轉向到的Web應用的名字 否   當前Web應用的名字

 

 

format
國際化有關
setLocale,requestEncoding,bundle,message,param,setBundle
時間日期有關,這些功能不在JSP頁面實現,所以下面標記不常用
formatNumber,formatDate,parseDate,parseNumber,setTimeZone,timeZone

<fmt;setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"/>
屬性  描述   EL  是否必須 缺省值
value 表示該語言環境的一個字符串,或者是 可以  是  無
 java.util.Locale類的對象 
scope 指定這個對象的作用范圍,有效 否  否  page
 值為:page,request,session,
 application 
variant 進一步針對特定的平臺或供應商定  可以  否  無
 語言環境.例如,MAC和WIN分別對應Macintosh
 和Windows平臺

<fmt:setBundle basename="basename" [var="name"] [scope="{page|request|session|application}"]/>
屬性  描述    EL    是否必須 缺省值
basename 設置使用的資源文件束文件的路徑和名稱   可以 是  無
 不應當包含任何本地化后綴或文件擴展名
var 設置了該屬性,那么將把由basename屬性所 否 否  無
 標識的資源束賦給該屬性值所命名的變量
scope 指明缺省資源束設置所應用的JSP作用域 否 否  page

 

<fmt:Bundle basename="base" [prefix="prefix"]/>
body content
</fmt:bundle>
屬性  描述      EL   是否須  缺省值
basename 設置使用的資源束文件的路徑與名稱,不應當包含 可以 是 無
  任何本地化后綴或文件擴展名
prefix  為所嵌套的<fmt:message>標記的key值指定缺省前綴 可以 否 無

 

<fmt:message key="messageKey" [bundle="resourceBundle"][var="name"][scope="{page|request|session|application}"]/>

<fmt:message [bundle="resourceBundle"] [var="varNmae"] [scope="{page|request|session|application}"]>
key
[<fmt:param>]
</fmt:message>
屬性 描述         EL      是否必須    缺省值
key 用來確定在資源束中定義哪個文本消息進行輸出顯示   可以  是 無
bundle 用來指定一個顯式的資源束,用來查找由key屬性標識的消息  可以 否 無
 請注意,該屬性的值必須是實際的資源束,比如當指定
 <fmt:setBundle>操作的var屬性時由該標記所賦予的資源束
 <fmt:message>的bundle屬性不支持字符串值
var 該標記所生成的文本消息賦給指定的變量,而不是輸出到JSP頁面  否      否   無
 中
scope 用來指定由var屬性指定的變量的作用域,有效值:page,request   否  否 page
 和application


<fmt:requestEncoding [value="charsetName"]/>
作用request.setCharsetEncoding("");

<fmt:param value="messageParameter"/>
<fmt:param>
body content
</fmt:param>


>native2ascii -encoding utf-8 displaytag_1.properties displaytag_zh_CN.properties

 

 

 


SQL標記庫
<sql:setDataSource>
<sql:query>
<sql:param>
<sql:dateParam>
<sql:update>
<sql:transaction>

 


XML標記庫 不建議在表現層使用
<x:set><x:out><x:when><x:choose><x:otherwise><x:if><x:if><x:forEach><x:param><x:parse><x:transform>

 

Functions標記庫
fn:length(item)
返回參數item中包含元素的個數,參數item類型可以是數組,Collection或者Stringl.如果是String類型返回是字符串中的字符個數
${fn:length("lichao")}

fn:contains(String,subString)
用來判斷源字符串是否包含子字符串
${fn:contains("lichao","li")}

fn:containsIgnorCase(String,subString)
與fn:contains()函數的功能差不多,區別是該函數對于子字符串的包含比較忽略大小寫

fn:endsWith(String,suffix)
用來判斷源字符串是否符合特定的詞尾
${fn:endsWith("lichao","chao")}

fn:escapeXml(String)
用于將特殊字符轉化為轉義以后的字符,返回轉換以后的字符串
${fn:escapeXml("<test>"}

fn:indexOf(String,subString)
用于取得子字符串與源字符串匹配的開始位置,若子字符串與源字符串中的內容沒有匹配成功將返回-1
${fn:indexOf("lichao","ic")}

fn:join(array,separator)
為一個字符串組中的每個字符串加上分隔符,并連接起來
${fn:join(array1,"")}

fn:replace(String,before,after)
為源字符串做替換
${fn:replace("lichao","li","LI")

fn:split(String,separator)
將一組由分隔符的字符串轉換成字符串數組
${fn:split(a,e,i),","}

fn:startsWith(String,prefix)
用來判斷源字符串是否符合特定開頭
${fn:startsWith("lichao","li")}

fn:substring(String,begin,end)
截取字符串
${fn:substring("lichao",1,3)}

fn:substringAfter(String,substring)
返回參數substring在參數string中后面的那一部分字符串
${fn:substringAfter("lichao","ic"}

fn:substringBefore(string,substring)
返回參數substring在參數string中前面的那一部分字符串
${fn:substringBefore("lichao","ic"}

fn:toLowerCase(string)
將源字符串中的字符全部轉換成小寫字符
${fn:toLowerCase(lichao)}

fn:toUpperCase(string)
將源字符串中的字符全部轉換成大寫字符
${fn:toUpperCase(LICHAO)}

fn:trim(string)
刪除源字符串中開始與結尾的空格
${fn:trim("li chao")}


 



柴油發電機
發電機
柴油機
柴油發電機
13636374743(上海)
13291526067(嘉興)