学习编程 2018-03-19
JSTL_Format
<%@taglib uri=”http://java.sun.com/jsp/jstl/fmt” prefix=”fmt”%>


示例代码:
<fmt:setLocale value="zh_CN" scope="application" variant="WIN"/>
属性介绍:
value:是使用的语言,前两个字母小写,代表语种,后两个字母大写,代表相应的国家或者是地区,中间用下划线连接,
scope:代表这种语言使用的范围,
variant是进一步指定语言环境,语言环境是WIN还是MAC,这行代码将忽略用户浏览器上所指定的语言首选项.fmt:setLocale

示例代码:
<fmt:setTimeZone value="GMT+8" var="time" scope="session"/>
属性介绍:
value值是timezone对象的值,
scope是作用范围,默认值page
var是一个变量,用来储存出value中的值或者内容 ,
这条标签的用法与setLocale的用法相似,fmt:setTimeZone

timeZone的用法与setTimeZone标签的作用相同,唯一的区别是标记timeZone的作用只对它包含的内容有关
示例代码:
<fmt:timeZone value="GMT+8" var="cc" >
body content
</fmt:timeZone>
属性介绍:
value:时区值,类似于:GMT+8
var:存储value值的变量的名称fmt:timeZone

Format库提供了两个可以格式化的标记,一个是,fmt_formatDate,另外一个是,fmt_formatNumber
示例代码:
<fmt:formatDate value="<%new java.util.Date()%>" pattern="yy-MM_dd HH:mm:ss" var="time"/>
<%
pageContext.setAttribute("time", time);
%>
转换完格式的时间:${time}
该标签的属性介绍:
value 指定用来格式化的日期和时间,
scope 设定该标签所指定的作用范围,默认值为page
type 指定要显示的是时间,日期,还是都显示, 参数:date time both,默认值:date
dateStyle 设定如何格式化日期信息,参数有:long,short,medium,full,default默认值:default
timeStyle 设定如何格式化时间信息,参数有:long.short,medium,full,default,默认值:default
pattern 定制用来格式化的格式,
timeZone 指定要使用哪个时区的信息,如果没有显示指定,或者书优先级:显示指定的->定义的fmt:timeZone对象,JVM默认时区,
var 用来存储,格式化之后的时间日期的值,如果没有显示声明var属性,则输出格式化之后的日期或者时间的结果fmt:formatDate

示例代码:
<fmt:parseDate value="2017-02-23 12:23:36" parseLocale="zh_CN" var="time1"/>
作为时间格式设计标签fmt_formatDate的反标签,对于一个给定日期或时间的字符串执行反操作,返回/生成一个java.util.Date类型的对象
属性介绍:
value:给定的日期或时间字符串,
parseLocale:是语言环境的名称或者是Locale类型的对象
var:保存最后生成的结果,如果没有显示声明,则输出结果fmt:parseDate

用来对数字数据,货币,百分数进行格式化,
示例代码:
<fmt:formatNumber type="number" groupingUsed="false" maxIntegerDigits="8" minIntegerDigits="2" maxFractionDigits="5" minFractionDigits="0" var="number" scope="page">
255552
</fmt:formatNumber>
<fmt:formatNumber type="currency" groupingUsed="true" maxIntegerDigits="8" minIntegerDigits="2" maxFractionDigits="5" minFractionDigits="0" var="currency" scope="page" currencyCode="美元" currencySymbol="$">
2555454
</fmt:formatNumber>
属性介绍:
以上还有一个属性定制属性pattern没有列出,
value:标签包含的数值默认为value值,如果单标签,则需要显示指定value值,即需要进行格式化的数据,这个属性是必须有的
type:要格式化的结果类型,可以为number,currency或者percent,默认是number
groupUsed:格式化后的数据是否分组,就像英文中的大数字中整数部分每三位中间用逗号隔开,默认是true
currencyCode:当type类型为货币currency时,显式设置货币单位
currencySymbol:当type类型为货币currency时,显式地指定货币符号,currencyCode属性的设定先于currencySumbol属性
maxIntegerDigits:数据整数部分最大位数
minIntegerDigits:数据整数部分最小位数
maxFractionDigits:数据小数部分最大为数
minFractionDigits:数据小数部分最小位数
var:用来存储结果,如果没有显示声明,则输出结果
scope:用来指定作用范围fmt:formatNumber

该标记是用来解析数值,该数值是通过value属性,或者该标记所包含的内容获得的,将结果作为java.lang.Number类型的对象返回
示例代码:
<c:set var=”num” value=”123456789.321654987”/>
<fmt:parseNumber value=”${num}” type=”number” var=”num1”/>
属性介绍:
value:将要进行解析的数值,
type:解析的数据的类型,有date,number,currency,默认date
var:存储value值的变量的名称fmt:parseNumber

设置一个默认资源文件束,供<message>标记在特定作用域中使用,
示例代码:
<fmt:setBundle basename=”com.vken.examples.resources”/>
属性介绍:
basename:设置使用的资源文件束文件的路径与名称,不应该包含任何本地化后缀或文件拓展名
scope:默认值:page,指定默认资源束设置所应用的JSP作用域
var:把basename属性所标识的资源束赋给该属性值所命名的变量fmt:setBundle

标记在其标记所包含内容内设置当前使用的资源束的路径与名称
示例代码:
<fmt:budle basename=”com.vken.examples” prefix=”guestbook.display.”>
<fmt:message key=”greeting”>
</fmt:bundle>
属性介绍:
basename:设置使用的资源束文件的路径与名称,不应当包含任何本地化后缀或文件扩展名
prefix:为所嵌套的<fmt:message>标记的key值指定默认前缀,无默认值fmt:bundle

示例代码:
<fmt:bundle basename=”com.vken,examples.resources” prefix=”guestbook.display.”>
<fmt:message key=”greeting”>
<fmt:param value=”liubei”/>
<fmt:param value=www.vken.com/>
</fmt:message>
<fmt:bundle>
resources.properties是默认的资源束文件
resources_zh_CN.properties是中文的资源束文件
属性介绍:
key:用来定义在资源束中定义哪个文本消息进行输出显示
scope:用来指定var属性指定的变量的作用范围,,默认值:page
bundle:用来指定一个显式资源束,用来查找由key属性标识的文本消息,该属性的值必须是资源束类型
var:该标记所生成的文本消息赋给指定的变量,而不是输出到jsp页面中,fmt:message

示例代码:
标记不包含内容:
<fmt:param value=”messageParamter”/>
标记包含内容:
<fmt:param>
Body content
</fmt:param>
属性:
Value:用来提供文本消息的参数化值,fmt:param

这个标记设定request对象封装的请求的信息所采用的字符编码,效果与request.setCharacterEncoding()代码的效果一样
示例代码:
<fmt:requestEncoding value=”UTF-8”>fmt:requestEncoding字符串过于长的时候需要通过仅仅展示前4个,用...表示省略,<c:if test="${fn:length<=5}">${word.type}</c:if>href触发JavaScript事件:。<a