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(嘉兴)