以下内容引用自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. Scala基础篇-04 try表达式

    1.try表达式 定义 try{} catch{} finally{} //例子 try{ Integer.parseInt("dog") }catch { }finally { ...

  2. 计算器Pro应用项目源码

    本计算器实现了一些简单的功能,可能本身还存在一些缺陷,希望大家提建议,能够改进一下. 源码项目我已经上传到源码天堂那里了:http://code.662p.com/list/11_1.html < ...

  3. ie11 突然不能加载外部css 很神奇 头部改为 <!DOCTYPE> <html>

    <!DOCTYPE html> <html> 改为 <!DOCTYPE> <html>   OK了

  4. 前端工程化与webpack

    (1) 前端工程化   近几年来,前端领域飞速发展,前端的工作早已不再是切几张图,写几个页面那么简单,项目比较大时,很可能会多人协同开发,模块化,组件化,CSS预编译等技术也被广泛的使用.前端自动化( ...

  5. tomcat 去掉项目名后,还可以用项目名

    在server.xml添加以下代码: <Context path="/" docBase="../webapps/jeeplus/" reloadable ...

  6. 2.10.1 article元素

    嵌套 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <titl ...

  7. 查找BUG的方法

    1)测试环境 1)代码调试 2)问题重现 3)思考问题所在 2)生产环境 1)思考 2)测试本地环境是否存在问题 3)打开日志查看 4)思考是否是数据原因 5)拷贝数据到本地进行重现 3)未知错误 1 ...

  8. 根据Dockerfile创建hello docker镜像

    一.编写hello可执行c文件: 1.安装:gcc glibc glibc-static yum install -y gcc glibc glibc-static 2.编写hello.c:vim h ...

  9. PHPExcel读取表格内容

    PHPExcel读取表格 先引入类IOFactory.php require_once '../PHPExcel/IOFactory.php'; $filePath = "test.xlsx ...

  10. linux下安装flash player

    下载flash player,选择.tar.gz for other linux. 网址:http://get.adobe.com/flashplayer/ Ctrl+Alt+T进入终端: 进入下载所 ...