JSTL_Format标记库

学习编程 2018-03-19

JSTL_Format

一:JSTL Format标记库

  1. 如有转载,请标明出处
  2. 介绍标记属性的时候,按照顺序必须写的->带有默认值的->其他的,中间用回车隔开
  3. 在jsp问价开头加上

<%@taglib uri=”http://java.sun.com/jsp/jstl/fmt” prefix=”fmt”%>

二:Format标记库

  1. 国际化(Internationalization),i开头,n结尾,中间包含18个字母,也叫I18N
  2. 国际化针对不同的语言与国家,提供特定的日期.数字格式与货币符号,随着全球经济一体化的发展,开发国际化的应用程序的需求越来越强,我们也需要开发支持国际化的Javaweb应用,
  3. Jstl的format标记库就是来完成国家化的.

三:Format标记

1.<fmt:setLocale>

JSTL_Format标记库JSTL_Format标记库
示例代码:

        <fmt:setLocale value="zh_CN" scope="application" variant="WIN"/>

       属性介绍:

            value:是使用的语言,前两个字母小写,代表语种,后两个字母大写,代表相应的国家或者是地区,中间用下划线连接,

 

            scope:代表这种语言使用的范围,

 

            variant是进一步指定语言环境,语言环境是WIN还是MAC,这行代码将忽略用户浏览器上所指定的语言首选项.
fmt:setLocale

2.<fmt:setTimeZone>,设置时区,

JSTL_Format标记库JSTL_Format标记库
示例代码:

        <fmt:setTimeZone value="GMT+8" var="time" scope="session"/>

                   属性介绍:

        value值是timezone对象的值,

 

        scope是作用范围,默认值page

 

        var是一个变量,用来储存出value中的值或者内容 ,

      这条标签的用法与setLocale的用法相似,
fmt:setTimeZone

3.<fmt:timeZone>

JSTL_Format标记库JSTL_Format标记库
timeZone的用法与setTimeZone标签的作用相同,唯一的区别是标记timeZone的作用只对它包含的内容有关

                   示例代码:

        <fmt:timeZone value="GMT+8" var="cc" >

                                     body content

        </fmt:timeZone>

      属性介绍:

               value:时区值,类似于:GMT+8

 

               var:存储value值的变量的名称
fmt:timeZone

4.<fmt:formatDate>

JSTL_Format标记库JSTL_Format标记库
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

5.<fmt:parseDate>

JSTL_Format标记库JSTL_Format标记库
示例代码:

             <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

6.<fmt:formatNumber>

JSTL_Format标记库JSTL_Format标记库
用来对数字数据,货币,百分数进行格式化,

示例代码:

  <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

7.<fmt:parseNumber>

JSTL_Format标记库JSTL_Format标记库
该标记是用来解析数值,该数值是通过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

8.<fmt:setBundle>

JSTL_Format标记库JSTL_Format标记库
设置一个默认资源文件束,供<message>标记在特定作用域中使用,

                   示例代码:

                            <fmt:setBundle basename=”com.vken.examples.resources”/>

                   属性介绍:

        basename:设置使用的资源文件束文件的路径与名称,不应该包含任何本地化后缀或文件拓展名

 

        scope:默认值:page,指定默认资源束设置所应用的JSP作用域

 

        var:把basename属性所标识的资源束赋给该属性值所命名的变量
fmt:setBundle

9.<fmt:bundle>标记

JSTL_Format标记库JSTL_Format标记库
标记在其标记所包含内容内设置当前使用的资源束的路径与名称

                   示例代码:

                            <fmt:budle basename=”com.vken.examples” prefix=”guestbook.display.”>

                                     <fmt:message key=”greeting”>

                            </fmt:bundle>

                   属性介绍:

                            basename:设置使用的资源束文件的路径与名称,不应当包含任何本地化后缀或文件扩展名

 

                            prefix:为所嵌套的<fmt:message>标记的key值指定默认前缀,无默认值
fmt:bundle

10.<fmt:message>

JSTL_Format标记库JSTL_Format标记库
示例代码:

                            <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

11.<fmt:param>标记

JSTL_Format标记库JSTL_Format标记库
示例代码:

                                     标记不包含内容:

                                               <fmt:param value=”messageParamter”/>

                                     标记包含内容:

                                               <fmt:param>

                                                        Body content

                                               </fmt:param>

                            属性:

                                     Value:用来提供文本消息的参数化值,
fmt:param

12.<fmt:requestEncoding>标记

JSTL_Format标记库JSTL_Format标记库
这个标记设定request对象封装的请求的信息所采用的字符编码,效果与request.setCharacterEncoding()代码的效果一样

                            示例代码:

                                     <fmt:requestEncoding value=”UTF-8”>
fmt:requestEncoding

四:注意

  1. 解析数字或者日期时间数据的操作不适合在表现层完成,所以应尽量避免在jsp页面中使用,<fmt:parseNumber>,和<fmt:parseDate>
  2. 复习

相关推荐