以下内容引用自http://wiki.jikexueyuan.com/project/jsp/internationalization.html

  • 国际化(i18n):这意味着可以使网站根据访问者的语言或者国籍翻译成不同版本的内容。

  • 本地化(I10n):这意味着将资源添加到一个网站来适应特定的地理或文化,例如将印度语添加到网站。

  • 局部区域:这是一个特定的文化或地理区域。它通常被称为一个语言符号,该语言符号紧随其后的是一个国家符号,它们之间用下划线分隔。例如,“en_US”代表美国的英语语言环境。

一个JSP可以根据请求者的区域位置来收集适当的网站版本,并且根据当地语言、文化和需求来提供适当的网站版本。下面是请求对象返回局部区域对象的方法。

java.util.Locale request.getLocale() 

一、检测局部区域

以下是重要的局部区域的方法,可以用来检测请求者的位置、语言和语言环境。以下所有方法显示设置在请求者的浏览器上的国家名称和语言名称。

方法 描述

String getCountry()

该方法返回国家/地区的代码,用大写的ISO 3166 2字符格式表示语言环境。

String getDisplayCountry()

该方法返回一个局部区域境的国家名称,该名称适合显示给用户。

String getLanguage()

该方法为局部区域用ISO 639格式返回小写的语言代码。

String getDisplayLanguage()

该方法返回一个局部区域的语言名称,该名称可以适合显示给用户。

String getISO3Country()

该方法返回一个局部区域国家的三个字母的缩写。

String getISO3Language()

该方法返回一个局部区域语言的三个字母的缩写。

示例:

这个例子展示了如何为JSP中的一个请求显示一个语言和与其相关的国家:

<%@ page import="java.io.*,java.util.Locale" %>
<%
//Get the client's Locale
Locale locale = request.getLocale();
String language = locale.getLanguage();
String country = locale.getCountry();
%>
<html>
<head>
<title>Detecting Locale</title>
</head>
<body>
<center>
<h1>Detecting Locale</h1>
</center>
<p align="center">
<%
out.println("Language : " + language + "<br />");
out.println("Country : " + country + "<br />");
%>
</p>
</body>
</html>

这将产生如下所示结果:

二、语言设置

一个JSP可以输出一个用西方欧洲语言编写的页面,比如英语、西班牙语、德语、法语、意大利语、荷兰语等等。在这里,适当的设置内容语言标题来显示所有的字符是很重要的。

第二点是使用HTML实体显示所有的特殊字符,例如,"ñ" 代表"ñ","¡"代表 “¡”,如下:

<%@ page import="java.io.*,java.util.Locale" %>
<%
// Set response content type
response.setContentType("text/html");
// Set spanish language code.
response.setHeader("Content-Language", "es");
String title = "En Español"; %>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>En Español</p>
<p>¡Hola Mundo!</p>
</div>
</body>
</html>

这将产生如下所示结果:

三、局部区域的特定的日期

可以使用java.text.DateFormat类和它的静态getDateTimeinstance()方法来为局部区域格式化日期和时间特性。下面的例子显示了对于一个给定的局部区域,如何格式化日期特性:

<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="java.text.DateFormat,java.util.Date" %> <%
String title = "Locale Specific Dates";
//Get the client's Locale
Locale locale = request.getLocale( );
String date = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.SHORT,
locale).format(new Date( ));
%>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>Local Date: <% out.print(date); %></p>
</div>
</body>
</html>

这将产生如下所示结果:

四、局部区域特定的货币

在一个局部区域特定的货币,可以使用java.txt.NumberFormat类和它的静态方法getCurrencyinstance()来格式化一个数量值,例如一个长型或双精度类型。下面的例子显示了对于一个给定的局部区域,如何格式化货币特性:

<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="java.text.NumberFormat,java.util.Date" %> <%
String title = "Locale Specific Currency";
//Get the client's Locale
Locale locale = request.getLocale( );
NumberFormat nft = NumberFormat.getCurrencyInstance(locale);
String formattedCurr = nft.format(1000000);
%>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>Formatted Currency: <% out.print(formattedCurr); %></p>
</div>
</body>
</html>

这将产生如下所示结果:

五、局部区域特定的百分比

可以使用java.txt.NumberFormat类和它的静态方法getPercentInstance()来获取局部区域特定的百分比。下面的例子显示了对于一个给定的局部区域,如何格式化百分比特性:

<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="java.text.NumberFormat,java.util.Date" %> <%
String title = "Locale Specific Percentage";
//Get the client's Locale
Locale locale = request.getLocale( );
NumberFormat nft = NumberFormat.getPercentInstance(locale);
String formattedPerc = nft.format(0.51);
%>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>Formatted Percentage: <% out.print(formattedPerc); %></p>
</div>
</body>
</html>

这将产生如下所示结果:

JSP国际化设置的更多相关文章

  1. JSP-Runoob:JSP 国际化

    ylbtech-JSP-Runoob:JSP 国际化 1.返回顶部 1. JSP 国际化 在开始前,需要解释几个重要的概念: 国际化(i18n):表明一个页面根据访问者的语言或国家来呈现不同的翻译版本 ...

  2. Jsp 国际化访问首页选择展示不同字体小例子

    要求:创建一个首页,默然显示英文信息,但可以让用户选择使用英文,繁体中文或简体中文. 1.编写hello_en_US.txt,内容如下: cc.openhome.welcome=welcomecc.o ...

  3. JSP 国际化

    在开始前,需要解释几个重要的概念: 国际化(i18n):表明一个页面根据访问者的语言或国家来呈现不同的翻译版本. 本地化(l10n):向网站添加资源,以使它适应不同的地区和文化.比如网站的印度语版本. ...

  4. jsp config设置jsp页面

    jsp-config jsp-config功能:用于设定jsp页面的相关设置(web.xml 版本在2.4之后) 常用的设置包括 taglib和jsp-property-group两个子元素.其中ta ...

  5. 转!! 关于jsp编码设置 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

    我们在写jsp页面的时候经常会在页面头部使用如下代码: <%@ page language="java" contentType="text/html; chars ...

  6. android 国际化 设置

    复制了他人的方法 方法和步骤 1 配置选项包括语言代号和地区代号.表示中文和中国的配置选项是 zh-rCN; 表示英文和美国的配置选项是en-rUS.其中,zh 和 en 表示中文和英文: 2 如果想 ...

  7. 【转】iOS多语言本地化(国际化)设置

    原文网址:http://www.jianshu.com/p/2b7743ae9c90 讨论的iOS应用中的多语言设置,Ok 一般是两种情况: 1.根据当前设备语言自动切换显示 2.在应用中可进行语言设 ...

  8. MyEclipse中jsp编码设置

    window->preference->Myeclipse->files and editors->jsp,设置编码为utf-8 2.window->preference ...

  9. eclipse新建jsp模版设置

    第一步:找到JSP模板 eclipse -- >perferences - >Web -> jsp files -Editor ->templates: 第二步:准备编辑JSP ...

随机推荐

  1. shiro 通过jdbc连接数据库

    本文介绍shiro通过jdbc连接数据库,连接池采用阿里巴巴的druid的连接池 参考文档:https://www.w3cschool.cn/shiro/xgj31if4.html https://w ...

  2. git创建分支及日常使用

    克隆代码 git clone https://github.com/master-dev.git 查看所有分支 git branch --all # 默认只有master分支,所以会看到如下两个分支 ...

  3. iOS----时间日期处理

    时间日期处理 1.NSDateFormatter 日期格式化 ①可以把NSString 类型转为 NSDate类型 举例 把 "2015-08-23 19:46:14" 转为NSD ...

  4. rem手机端页面自适应布局(待修正下一篇完美布局)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Nexus环境搭建

    安装 1.解压nexus-2.11.01-bundle.zip到F:\Java\nexus(可自定义) 2.进入F:\Java\nexus\nexus-2.11.1-01\bin\jsw进入相应的系统 ...

  6. ALTER DATABASE 修改一个数据库

    SYNOPSIS ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT } ALTER DATABASE name RESET ...

  7. CE工具里自带的学习工具--第一关

    点击[下一步],进入第二关

  8. CAD交互绘制直线(com接口)

    用户可以在控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY ...

  9. JavaSE-24 多线程

    学习要点 线程概述 Java中的多线程 线程状态 线程调度 线程同步 线程间通信 线程概述 1  进程 进程就是应用程序的执行实例. 进程特征: 动态性:动态产生,动态消亡.进程启动,系统为其分配资源 ...

  10. Windows下如何使用CMD命令进入MySQL数据库

    1.打开[开始]>[运行]输入[cmd]单击[确定]后出现CMD命令黑色窗口,这就是我们说的CMD命令行,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回 ...