国际化这个分类中共包含两个标签:用于设定语言地区<fmt:setLocale/>和用于设定请求的字符编码的<fmt:requestEncoding>标签。
1.<fmt:setLocale/>标签
<fmt:setLocale>标签用来设定用户语言区域。
【语法】:
<fmt:setLocale value=”locale”[variant=”variant”]
[scope=”page|request|session|application”]>
参数名 | 说明 | EL | 类型 | 必须 | 默认值 |
value | 指定区域代码 | 是 | String java.util.Locale | 是 | 无 |
variant | 操作系统的类型 | 是 | String | 否 | 无 |
scope | 设定时区的作用范围 | 否 | String | 否 | page |
value属性用来指定使用的语言代码,可以从浏览器的【工具】---【Internet选项】---【语言】---【添加】中查看浏览器支持的语言种类及语言代码。例如:中文(zh_cn)、台湾(zh_tw)、香港(zh_mo)等。
举个例子:
1 <%@ page language="java" pageEncoding="gbk"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 4 <jsp:useBean id="date" class="java.util.Date"></jsp:useBean> 5 <html> 6 <head> 7 <title>I18N标签库</title> 8 </head> 9 <body> 10 <H4> 11 <c:out value="<fmt:setlocale>标签的使用"></c:out> 12 </H4> 13 <hr> 14 <fmt:setLocale value="en_us" /> 15 英文: 16 <fmt:formatDate value="${date}" type="both" dateStyle="full" 17 timeStyle="full" /> 18 <hr> 19 <fmt:setLocale value="zh_cn" /> 20 中文: 21 <fmt:formatDate value="${date}" type="both" dateStyle="full" 22 timeStyle="full" /> 23 <hr> 24 <fmt:setLocale value="zh_TW" /> 25 中国台湾: 26 <fmt:formatDate value="${date}" type="both" dateStyle="full" 27 timeStyle="full" /> 28 </body> 29 </html>
显示结果:
2. <fmt:requestEncoding>标签
该标签用于设定请求的编码格式。功能同servletRequest.setCharacterEncoding()方法相同。
【语法】:
<fmt:requestEncoding [value=”charEncoding”]/>
【参数说明】:
value属性用来指定使用的编码集例如:gbk、gb2312等。当没有给出value的值时将会自动搜索取寻找合适的编码方式,因此能够很好的解决中文乱码问题。