I18N标签
分类 | 功能分类 | 标签名称 |
I18N | 国际化 | setLocale requestEncoding |
消息 | bundle message param setBundle | |
数字日期格式化 | formatNumber formatDate parseDate parseNumber setTimeZone fclose在c语言中timeZone | |
国际化
<fmt:setLocale>设定语言地区的
语法:
<fmt:setLocale value="locale" [variant="variant"] [scope="page|request|session|application"] /> |
说明:
名称 | 说明 | EL | 类型 | 必须 | 默认值 |
value | 地区代码。其中最少要有两个字母的语言代码,如:zh、en,然后也可以加上两个字母的国家和地区代码,如US、TW、两者可由”_”相连接起来,例如:zh_TW | Y | String/java.uitl.Location | 是 | 无 |
variant | 供货商或浏览器的规格。例如:WIN代表windows,Mac代表Macintosh | Y | String | 否 | 无 |
scope | 地区设定的套用范围 | N | String | 否 | Page |
例:
<% request.setAttribute("mydate",new Date()); %> <h1>设置语言</h1> <fmt:setLocale value="en_US"/> <fmt:formatDate value="${mydate}" var="md"/> 英文输出日期:${md}<br/> <fmt:setLocale valuephp for="zh_CN"/> <fmt:formatDate value="${mydate}" var="md"/> 中文输出日期:${md} <hr/> |
<fmt:requestEncoding>
<fmt:requestEncoding>有来设定字符串编码,功能和ServletRequest.setCharacterEncoding()相同。
格式:
fmt:requestEncoding [value="charseName"] |
例:
<fmt:requestEncoding value="UTF-8"> |
消息Messsage
功能:抓取系统设定之语系资源,让我们可以轻易地做到多国化信息。在使用这些有关国际化信息的标签前,我们必须知道如何产生存放国际化信息的数据来源。
首先用文字编辑器产生一个文件,扩展名必须为properties,然后文件的内容必须是依照key=value的格式,也就是一个索引对应到一个值。最后将文件放至与JSP网页同一个站台的Web-INF/classes目录下。
<fmt:message>
<fmt:message>会从指定的资源中把特定关键字中的值抓取出来。
语法:
<fmt:message key="messageKey" [bundle="resoreBundle"] [var="varName"] [scope="page|request|sesion|application"]/> |
中间可加入
<fmt:param>标签
名称 | 说明 | EL | 类型 | 必须 | 默认值 |
Key | 索引 | Y | String | 否 | 无 |
bundle | 使用的数据来源 | Y | locatizationContext | 否 | 无 |
var | 用来储存国际化信息 | N | String | 否 | 无 |
scope | var变量的JSP范围 | N | String | 否 | Page |
Null和错误处理
假若key为null或空的时候,在网页上会产生,??????的错误信息
假若不到资源文件.properties时,在网页上会产生???<key>???的错误信息
<fmt:bundle>标签
<fmt:bundle basename="basename" [prefix="prefix"]>
本体内容
</fmt:bundle>
属性:
名称 | 说明 | EL | 类型 | 必须 | 默认值 |
basename | 要使用的资源名称。 | Y | String | 是 | 无 |
prefix | 前置关键字 | Y | String | 否 | 无 |
<fmt:setBundle>
<fmt:setBundle>可以用来设定默认的数据来源,或者可以将它设定到属性范围中
<fmt:setBundln basename="basename" [var="varname"] [scope="page|request|session|application"] />
名称 | 说明 | EL | 类型 | 必须 | 默认值 |
basename | 要使用的资源名称 | Y | String | 是 | 无 |
var | 储存资源 | N | string | 否 | 无 |
scope | var变量的JSP范围 | N | lineargradient的参数String | 否 | Page |
<fmt:bundle>和<fmt:setBundle>都可以搭配<fmt:setLocale>使用。当我胶有多种语言的数据来源时,可以将文件取成M_zh_CN.properties、M_en_US.properties。当我们将区域设定为zh_CN时,用fmt:bundle 或fmt:setBundle时,将会默认读也M_zh_CN.properties资源
文件,如果fmt:setLocale设定为en_US时,那么将会默认抓取en_US.properties来使用。
<fmt:setLocale value="zh_CN"/>
<fmt:setBundle basename="m" scope="session"/>
<fmt:message key=”name”>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="fmt" uri="java.sun/jsp/jstl/fmt" %> <% String path = ContextPath(); String basePath = Scheme()+"://"+ServerName()+":"+ServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>I18N国际化</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv=jsp中文全称"expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% request.setAttribute("d",new Date()); request.setCharacterEncoding("UTF-8"); request.setAttribute("uu","成龙"); %> <fmt:requestEncoding value="UTF-8"/> <fmt:formatDate value="${d}" var="dd"/> <fmt:setLocale value="zh_CN"/> ${dd}<br/> <fmt:formatDate value="${d}" var="ddd"/> <fmt:setLocale value="zh_TW"/> ${ddd}<br/> <fmt:formatDate value="${d}" var="dddd"/> <fmt:setLocale value="en_US"/> ${dddd}<br/> <hr/> <fmt:setLocale value="zh_CN"/> <fmt:bundle basename="my"> <fmt:message key="uname" var="u" scope="request"></fmt:message> <fmt:message key="upwd" var="up" scope="request"></fmt:message> ${u}<input type="text"><br/> ${up}<input type="password"><br/> <fmt:message key="hy" var="hyy"> <fmt:param value="${uu}"></fmt:param> </fmt:message> <fmt:message key="sy" var="syy" scope="request"></fmt:message> <a href="#">${syy}</a><br/> ${hyy} </fmt:bundle> <hr/> <fmt:setLocale value="en_US"/> <fmt:bundle basename="my"> spring+struts+hibernate<fmt:message key="uname" var="u" scope="request"></fmt:message> <fmt:message key="upwd" var="up" scope="request"></fmt:message> <fmt:message key="sy" var="syy" scope="request"></fmt:message> <a href="#">${syy}</a><br/> <fmt:message key="hy" var="hyy"> <fmt:param value="${uu}"></fmt:param> </fmt:message> ${hyy} </fmt:bundle> ${u}<input type="text"><br/> ${up}<input type="password"><br/> <谷歌浏览器对富文本编辑器fmt:message key="sy" var="syy" scope="request"></fmt:message> <a href="#">${syy}</a><br/> </body> </html> |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论