日期:2014-05-16 浏览次数:20406 次
JSTL国际化标签库:
?? 其主要标签如下:
NO | 功能分类 | 标签名称 | 描述 |
1 | 国际化标签 | <fmt:setLocal> | 设置一个全局的地区代码 |
2 | <fmt:requestEncoding> | 设置统一的请求编码 | |
3 | 信息显示标签 |
<fmt:bundle> | 设置临时的要读取资源文件的名称 |
4 | <fmt:message> | 通过key取得Value,通过<fmt:param>向动态文本设置内容 | |
5 | <fmt:setBundle> | 设置一个全局的要读取资源文件的名称 | |
6 | 数字及日期格式化 | <fmt:formatNumber> | 格式化数字 |
7 | <fmt:parseName> | 反格式化数字 | |
8 | <fmt:formatDate> | 格式化日期,将日期变为字符串 | |
9 | <fmt:parseDate> | 反格式化日期,将字符串变为日期 | |
10 | <fmt:setTimeZone> | 设置一个全局的时区 | |
11 | <fmt:timeZone> | 设置一个临时的时区 |
<fmt:setLocal>:
? 设定用户所在的区域;
测试页面:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <body> <% pageContext.setAttribute("date",new Date()); %> 中文显示日期显示: <fmt:setLocale value="zh_CN"/> <fmt:formatDate value="${date}"/><br /> 英文显示日期显示: <fmt:setLocale value="en_US"/> <fmt:formatDate value="${date}"/> </body>
?其属性:
?
No | 属性名称 | EL | 描述 |
1 | value | 支持 | 设置地区的编码,表示一个java.util.Local类 |
2 | variant | 支持 | 如果要访问在同一个web容器下的其他资源时设置,必须要以"/"开头 |
3 | scope | 不支持 | 地区设置的范围 |
<fmt:requestEncoding>:
?? 设置主要功能是设置所有的请求编码,与setCharacterEncoding();
<fmt:requestEncoding value="UTF-8"/>
?其属性:
No | 名称 | EL | 描述 |
1 | value | 支持 | 设置字符编码 |
读取资源文件(国际化中最重要的组成部分是资源文件读取,以*.properties为后缀的资源文件,所有的内容按照“key=value”的格式,在Web中,资源文件要保存在WEB-INF/classes文件下):
<fmt:message>,<fmt:bundle>,<fmt:setBundle>;
<body> <fmt:bundle basename="Message"> <fmt:message key="name" var="nameref"></fmt:message> </fmt:bundle> 姓名:${nameref }<br /> <fmt:bundle basename="Message"> <fmt:message key="info" var="inforef"> <fmt:param value="GOOD" /> </fmt:message> </fmt:bundle> 信息:${inforef } </body>
?其资源文件:
name=keith info=a good student
?在进行资源文件读取时,也可以通过<fmt:setBundl>标签设置一个默认的读取资源文件名称,这样每次在使用<fmt:message>标签进行信息读取时,直接通过bundle设置要读取资源的属性即可:
例子:
<body> <fmt:setBundle basename="Message" var="msg"/> <fmt:message key="name" var="nameref" bundle="${msg}" /> 姓名:${nameref } <fmt:message key="info" var="inforef" bundle="${msg}"> <fmt:param value="GOOD" /> </fmt:message> 信息:${inforef } </body>
?在国际化中,需要建立不同的属性文件,例如:
中文的:Message_zh_CN.properties,英文的:Message_en_US.properties;此时可以通过<fmt:setLocal>标签来指定要读取的区域资源文件:
<fmt:setLocal value="zh_CN" />
<fmt:setBundle basename="Message" var="msg"/>
?
数字格式化标签 :
完成数字格式化的操作,可以使用:<fmt:formatNumber>和<fmt:parseNumber>完成。
测试页面:
<fmt:formatNumber value="199906.600112" maxIntegerDigits="7"