日期:2014-05-16 浏览次数:20554 次
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"