zoukankan      html  css  js  c++  java
  • JSTL_Format标记库

    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>           

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

         

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

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

             3.<fmt:timeZone>   

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

             4.<fmt:formatDate>

        
                       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>

        
                       示例代码:
    
                 <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>

        
    用来对数字数据,货币,百分数进行格式化,
    
    示例代码:
    
      <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>

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

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

             9.<fmt:bundle>标记      

        
    标记在其标记所包含内容内设置当前使用的资源束的路径与名称
    
                       示例代码:
    
                                <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>       

        
    示例代码:
    
                                <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>标记           

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

               12.<fmt:requestEncoding>标记         

        
     这个标记设定request对象封装的请求的信息所采用的字符编码,效果与request.setCharacterEncoding()代码的效果一样
    
                                示例代码:
    
                                         <fmt:requestEncoding value=”UTF-8”>
    fmt:requestEncoding

     

    四:注意

    1. 解析数字或者日期时间数据的操作不适合在表现层完成,所以应尽量避免在jsp页面中使用,<fmt:parseNumber>,和<fmt:parseDate>
    2. 复习
  • 相关阅读:
    对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决
    attempted to assign id from null one-to-one
    The class has no identifier property
    javax.servlet.ServletException: com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z
    final和static
    hibernate事务
    log4j:WARN Please initialize the log4j system properly.解决
    用最有效率的方法算出2乘以8等於几
    char型变量中能存贮一个中文汉字
    基本数据类型范围
  • 原文地址:https://www.cnblogs.com/aihuadung/p/8602594.html
Copyright © 2011-2022 走看看