JSTL <fmt:setLocale> 标签用于设置用户本地化环境。
语法
JSP <fmt:setLocale> 标签的语法如下:
<fmt:setLocale value="localcode" [scope="page|request|session|application"] [variant="variant"]>
其中:
-
localcode:代表语言代码,例如,ZH、EN。也可以在后面加上国家或者地区的两位数代码,中间用
_
连接,如 zh_TW(中国台湾地区)、zh_HK(中国香港)。 - variant:可选项,用于设置浏览器的类型,例如,win 代表 Windows。
- scope:可选项,用于设置其有效范围,默认为 page。
示例
<fmt:setLocale> 标签的简单示例如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.Locale"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html>
<html>
<head>
<title>runoops自学(www.runoops.com)</title>
</head>
<body>
<%
request.setAttribute("localeList", Locale.getAvailableLocales());
%>
<table border="1">
<tr class="title">
<th>Locale</th>
<th>Language</th>
<th>Date and Time</th>
<th>Number</th>
<th>currency</th>
</tr>
<jsp:useBean id="date" class="java.util.Date"></jsp:useBean>
<c:forEach var="locale" items="${localeList }">
<fmt:setLocale value="${locale }" />
<tr>
<td align="left">${locale.displayName }</td>
<td align="left">${locale.displayLanguage }</td>
<td><fmt:formatDate value="${date }" type="both" /></td>
<td><fmt:formatNumber value="10000.5" /></td>
<td><fmt:formatNumber value="10000.5" type="currency" /></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Locale.getAvailableLocales() 方法返回所有已安装语言环境的数组集合。
运行结果如下:
注意:由于篇幅有限,此处语言环境以及时间只展示了一部分,大家可自己运行查看。