JSTL中使用fmt.tld作为格式化标签库的定义文件

No.

功能分类

标签名称

描述

1

国际化标签

<fmt:setLocale>

设置一个全局的地区代码

2

<fmt:requestEncoding>

设置统一的请求编码

 

信息显示标签

<fmt:bundle>

设置临时的要读取资源文件的名称

 

<fmt:message>

通过key取得value,通过<fmt:param>向动态文本中设置内容

 

<fmt:setBundle>

设置一个全局的要读取资源文件的名称

 

数字及日期格式化

<fmt:formatNumber>

格式化数字

 

<fmt:parseNumber>

反格式化数字

 

<fmt:formatDate>

格式化日期,将日期变为字符串

 

<fmt:parseDate>

反格式化日期,将字符串变为日期

 

<fmt:setTimeZone>

设置一个全局的时区

 

<fmt:timeZone>

设置一个临时的时区

  • <fmt:setLocale>标签 

<fmt:setLocale value="区域编码" [variant="浏览器"] [scope="[page | request | session | application]"]/>

<fmt:setLocale>标签的属性 :

No.

属性名称

EL支持

描述

1

value

设置地区的编码,表示一个java.util.Locale类

2

variant

如果要访问在同一个WEB容器下的其他资源时设置,必须以“/”开头

3

scope

×

地区设置的范围

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <%
  8. pageContext.setAttribute("date",new Date()) ;
  9. %>
  10. <h3>中文日期显示:
  11. <fmt:setLocale value="zh_CN"/>
  12. <fmt:formatDate value="${date}"/>
  13. </h3>
  14. <h3>英文日期显示:
  15. <fmt:setLocale value="en_US"/>
  16. <fmt:formatDate value="${date}"/>
  17. </h3>
  18. </body>
  19. </html>
  • <fmt:requestEncoding>标签 

<fmt:requestEncoding [value="字符集"]/>

和request.setCharacterEncoding()一样的作用

  • <fmt:message>、<fmt:param>、<fmt:bundle>、<fmt:setBundle>读取资源文件
<fmt:bundle basename="资源文件名称" [prefix="前置标记"]>

标签体内容

</fmt:bundle>

当通过<fmt:bundle>标签指定好了资源文件名称后,就可以使用<fmt:message>标签按照key读取value,语法如下:
<fmt:message key="资源文件的指定key" [bundle="资源文件名称"]  [var="存储内容的属性名称"] [scope="[page | request | session | application]"]/>
 
<fmt:message key="资源文件的指定key" [bundle="资源文件名称"]  [var="存储内容的属性名称"] [scope="[page | request | session | application]"]>

<fmt:param value="设置占位符内容"/>

</fmt:message>

资源文件Message.properties:

  1. name = LiXingHua
  2. info = \u6b22\u8fce{0}\u5149\u4e34\uff01

读取资源文件:

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <fmt:bundle basename="Message">
  8. <fmt:message key="name" var="nameref"/>
  9. </fmt:bundle>
  10. <h3>姓名:${nameref}</h3>
  11. <fmt:bundle basename="Message">
  12. <fmt:message key="info" var="inforef">
  13. <fmt:param value="MLDN"/>
  14. </fmt:message>
  15. </fmt:bundle>
  16. <h3>信息:${inforef}</h3>
  17. </body>
  18. </html>

可以用<fmt:setBundle> 代替上述多处<fmt:bundle basename="Message">:

<fmt:bundle>:设置单个资源名称

<fmt:setBundle>:设置全局 的资源名称

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ taglib uri="http://www.mldn.cn/jstl/fmt" prefix="fmt"%>
  3. <html>
  4. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  5. <body>
  6. <fmt:setBundle basename="Message" var="msg"/>
  7. <fmt:message key="name" var="nameref" bundle="${msg}"/>
  8. <h3>姓名:${nameref}</h3>
  9. <fmt:message key="info" var="inforef" bundle="${msg}">
  10. <fmt:param value="MLDN"/>
  11. </fmt:message>
  12. <h3>信息:${inforef}</h3>
  13. </body>
  14. </html>

实际上也可以根据不同的资源文件进行划分,如果实现国际化操作,肯定有很多的资源文件:Message_en_US.properties,Message_zh_CN.properties

可以在代码<fmt:setBundle basename="Message" var="msg"/>前加入

<fmt:setLocale value="zh_CH">

  • 数字化格式化标签<fmt:formatNumber>
<fmt:formatNumber value="数字" [type="[number | currency | percent]"]  [pattern="格式化格式"] [currencyCode="货币的ISO代码"] [currencySymbol="货币符号"]  [groupingUsed="[true | false]"] [maxIntegerDigits="整数位的最大显示长度"]  [minIntegerDigits="整数位的最小显示长度"]   [maxFractionDigits="小数位的最大显示长度"]  [minFractionDigits="小数位的最小显示长度"] [var="格式化数字的保存属性"]  [scope="[page | request | session | application]"]/>
<fmt:formatNumber [type="[number | currency | percent]"]  [pattern="格式化格式"] [currencyCode="货币的ISO代码"] [currencySymbol="货币符号"]  [groupingUsed="[true | false]"] [maxIntegerDigits="整数位的最大显示长度"]  [minIntegerDigits="整数位的最小显示长度"]   [maxFractionDigits="小数位的最大显示长度"]  [minFractionDigits="小数位的最小显示长度"] [var="格式化数字的保存属性"]  [scope="[page | request | session | application]"]>  要格式化的数字</fmt:formatNumber>
<fmt:formatNumber>标签的属性 :

No.

属性名称

EL支持

描述

1

value

要格式化的数字

2

type

指定格式化的形式,例如:数字、货币、百分比,默认是数字

3

pattern

要格式化数字的格式

4

currencyCode

货币编码(ISO 4217编码),例如:人民币(CNY)、美元(USD)

5

currencySymbol

显示的货币符号,例如:¥或$

6

groupingUsed

是否在数字中加“,”

7

maxIntegerDigits

可以显示的最大整数位

8

minIntegerDigits

可以显示的最小整数位

9

maxFractionDigits

可以显示的最大小数位

10

minFractionDigits

可以显示的最小小数位

11

var

×

保存已格式化完的数字的属性名称

12

scope

×

var变量的保存范围,默认是page范围

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <fmt:formatNumber value="351989.356789" maxIntegerDigits="7" maxFractionDigits="3" groupingUsed="true" var="num"/>
  8. <h3>格式化数字:${num}</h3>
  9. <fmt:formatNumber value="351989.356789" pattern="##.###E0" var="num"/>
  10. <h3>科学计数法:${num}</h3>
  11. </body>
  12. </html>
  • 数字反格式化:<fmt:parseNumber>
<fmt:parseNumber value="格式化好的数字" [type="[number | currency | percent]"]  [pattern="格式化样式"] [parseLocale="区域编码"] [integerOnly="[true | false]"]  [var="存储结果的属性名称"] [scope="[page | request | session | application]"]/>
<fmt:parseNumber value="格式化好的数字" [type="[number | currency | percent]"]  [pattern="格式化样式"] [parseLocale="区域编码"] [integerOnly="[true | false]"]  [var="存储结果的属性名称"] [scope="[page | request | session | application]"]>

已格式化好的数字

</fmt:parseNumber>

<fmt:parseNumber>标签的属性 :

No.

属性名称

EL支持

描述

1

value

要格式化的数字

2

type

指定格式化的形式,例如:数字、货币、百分比,默认是数字

3

pattern

要格式化数字的格式

4

parseLocale

设置文字的区域编码

5

integerOnly

是否只显示整数部分

6

var

×

保存已格式化完的数字的属性名称

7

scope

×

var变量的保存范围,默认是page范围

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <fmt:parseNumber value="3,531,989.357" var="num"/>
  8. <h3>反格式化数字:${num}</h3>
  9. <fmt:parseNumber value="3.532E6" pattern="##.###E0" var="num"/>
  10. <h3>反科学计数法:${num}</h3>
  11. <fmt:parseNumber value="3.5%" pattern="00%" var="num"/>
  12. <h3>反百分比:${num}</h3>
  13. </body>
  14. </html>
  • 日期格式化:<fmt:formatDate>
<fmt:formatDate value="date" [type="[time | date | both]"] [pattern="格式化样式"]  [dateStyle="[default | short | medium | long | full]"]  [timeStyle="[default | short | medium | long | full]"]  [timeZone="时区"] [var="存储结果的属性名称"]  [scope="[page | request | session | application]"]/>
<fmt:formatDate>标签的属性 :

No.

属性名称

EL支持

描述

1

value

要格式化的日期时间

2

type

指定格式化的形式,例如:日期、时间、日期时间,默认是date

3

pattern

要格式化数字的格式

4

dateStyle

设置日期的显示格式,默认是default

5

timeStyle

设置时间的显示格式,默认是default

6

timeZone

设置时区

7

var

×

存储结果的属性名称

8

scope

×

var变量的保存范围,默认是page范围

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <%
  8. pageContext.setAttribute("dateref" , new Date()) ;
  9. %>
  10. <fmt:formatDate value="${dateref}" type="both" dateStyle="default" timeStyle="default" var="date"/>
  11. <h3>default显示日期时间:${date}</h3>
  12. <fmt:formatDate value="${dateref}" type="both" dateStyle="short" timeStyle="short" var="date"/>
  13. <h3>short显示日期时间:${date}</h3>
  14. <fmt:formatDate value="${dateref}" type="both" dateStyle="medium" timeStyle="medium" var="date"/>
  15. <h3>medium显示日期时间:${date}</h3>
  16. <fmt:formatDate value="${dateref}" type="both" dateStyle="long" timeStyle="long" var="date"/>
  17. <h3>long显示日期时间:${date}</h3>
  18. <fmt:formatDate value="${dateref}" type="both" dateStyle="full" timeStyle="full" var="date"/>
  19. <h3>full显示日期时间:${date}</h3>
  20. <fmt:formatDate value="${dateref}" type="both" pattern="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" var="date"/>
  21. <h3>自定义格式显示日期时间:${date}</h3>
  22. </body>
  23. </html>
  • 日期的反格式化:<fmt:parseDate> 
<fmt:parseDate value="date" [type="[time | date | both]"] [pattern="格式化样式"]  [dateStyle="[default | short | medium | long | full]"]  [timeStyle="[default | short | medium | long | full]"]  [timeZone="时区"] [var="存储结果的属性名称"]  [scope="[page | request | session | application]"]/>
<fmt:parseDate>标签的属性 :

No.

属性名称

EL支持

描述

1

value

要转换成日期的字符串

2

type

指定格式化的形式,例如:日期、时间、日期时间,默认是date

3

pattern

要格式化数字的格式

4

dateStyle

设置日期的显示格式,默认是default

5

timeStyle

设置时间的显示格式,默认是default

6

timeZone

设置时区

7

var

×

存储结果的属性名称

8

scope

×

var变量的保存范围,默认是page范围

例子:
  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <fmt:parseDate value="2009年7月5日 星期日 上午11时47分45秒 CST" type="both" dateStyle="full" timeStyle="full" var="date"/>
  8. <h3>字符串变为日期:${date}</h3>
  9. <fmt:parseDate value="2009年07月05日 11时47分45秒062毫秒" type="both" pattern="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" var="date"/>
  10. <h3>字符串变为日期:${date}</h3>
  11. </body>
  12. </html>

设置时区:<fmt:timeZone>

<fmt:timeZone value="设置的时区">

标签体内容

</fmt:timeZone>

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ page import="java.util.*"%>
  3. <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jst/fmt"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <%
  8. pageContext.setAttribute("dateref",new java.util.Date()) ;
  9. %>
  10. <fmt:timeZone value="HST">
  11. <fmt:formatDate value="${dateref}" type="both" dateStyle="full" timeStyle="full" var="date"/>
  12. </fmt:timeZone>
  13. <h3>FULL显示日期时间:${date}</h3>
  14. </body>
  15. </html>
 

JSP标准标签库(JSTL)--国际化标签库 fmt的更多相关文章

  1. 小峰servlet/jsp(7)jstl国际化标签库、sql标签库等

    一.jstl国际化标签库: fmt:setLocale 设定用户所在的区域: fmt:formatDate   对日期进行格式化 fmt:requestEncoding 设置所有的请求编码; fmt: ...

  2. JSP标准标签库(JSTL)--XML标签库 x

    ³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理.  XML标 ...

  3. 小峰servlet/jsp(6)jstl核心标签库

    一.引入jstl 需要jstl.jar;standard.jar; 二.jstl核心标签库: c:out         内容输出标签; c:set      用来设置4种属性范围值的标签: c:re ...

  4. [Java] JSP笔记 - EL、JSTL 常用标签

    一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...

  5. JSP标准标签库(JSTL)--SQL标签库 sql

    了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...

  6. JSP标准标签库(JSTL)--核心标签库 c

    核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...

  7. JSP标准标签库(JSTL)--函数标签库 fn

    和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...

  8. JSP标准标签库(JSTL)

    JSTL:JSP Standard Tag Library:JSP标准标签库 以下内容引用自http://wiki.jikexueyuan.com/project/jsp/standard-tag-l ...

  9. 【JSP】JSTL核心标签库的使用方法和示例

    JSTL 核心标签库 JSTL 核心标签库标签共有13个,功能上分为4类: 1. 表达式控制标签:out.set.remove.catch 2. 流程控制标签:if.choose.when.other ...

随机推荐

  1. toggle的使用心得

    点击同一个标签可以实现不同效果 或者几个效果 以前一般都是if 判断的 逻辑还有判断比较繁琐 看啦手册后 发现这个功能可以不用判断的自动循环点击事件 比以前的简单好用 主要用法:$("td& ...

  2. html各元素中的区别

    HTML中DIV与SPAN的区别 html的div和span, 经常会用到, 尤其是前者. 1. div是块级元素, 实际上就是一个区域, 主要用于容纳其他标签. 默认的display属性是block ...

  3. HDU 5795 A Simple Nim

    打表找SG函数规律. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> ...

  4. webdriver入门

    webdriver是web自动化测试中的重要工具,通过webdriver可以灵活的操纵browser完成相关的测试,目前的webdriver对主流的浏览器均有支持, 如firefox ,chrome, ...

  5. PE结构之重定位表

    什么是重定位: 重定位就是你本来这个程序理论上要占据这个地址,但是由于某种原因,这个地址现在不能让你占用,你必须转移到别的地址,这就需要基址重定位.你可能会问,不是说过每个进程都有自己独立的虚拟地址空 ...

  6. linux中的 tar命令的 -C 参数,以及其它一些参数(转)

    linux中的 tar命令的 -C 参数,以及其它一些参数 复制源:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.htmltar命令 ...

  7. string的数值转换

    to_string(val); //数值val的string表示 stoi (s, p, b); stol (s, p, b); stoul (s, p, b); stoll (s, p, b); s ...

  8. excel中自动变为插入语句的写法

    =concatenate("insert into t(b,c) values('",b1,"','",c1,"');")

  9. rownum使用方法

    rownum使用方法: .使用rownum子查询: rownum是一个总是从1开始的伪列,当查询条件rownum)时,不能从数据库查到记录,因此要 通过子查询解决:; 结果: SQL; R ID US ...

  10. linux下MMC/SD/SDIO驱动系列之二 ---- host注册过程(一)

    参考了 http://blog.csdn.net/xieweihua2012/article/details/12844733 在他的基础上更详细的解析源 ...................... ...