JSP国际化设置
以下内容引用自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国际化设置的更多相关文章
- JSP-Runoob:JSP 国际化
ylbtech-JSP-Runoob:JSP 国际化 1.返回顶部 1. JSP 国际化 在开始前,需要解释几个重要的概念: 国际化(i18n):表明一个页面根据访问者的语言或国家来呈现不同的翻译版本 ...
- Jsp 国际化访问首页选择展示不同字体小例子
要求:创建一个首页,默然显示英文信息,但可以让用户选择使用英文,繁体中文或简体中文. 1.编写hello_en_US.txt,内容如下: cc.openhome.welcome=welcomecc.o ...
- JSP 国际化
在开始前,需要解释几个重要的概念: 国际化(i18n):表明一个页面根据访问者的语言或国家来呈现不同的翻译版本. 本地化(l10n):向网站添加资源,以使它适应不同的地区和文化.比如网站的印度语版本. ...
- jsp config设置jsp页面
jsp-config jsp-config功能:用于设定jsp页面的相关设置(web.xml 版本在2.4之后) 常用的设置包括 taglib和jsp-property-group两个子元素.其中ta ...
- 转!! 关于jsp编码设置 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
我们在写jsp页面的时候经常会在页面头部使用如下代码: <%@ page language="java" contentType="text/html; chars ...
- android 国际化 设置
复制了他人的方法 方法和步骤 1 配置选项包括语言代号和地区代号.表示中文和中国的配置选项是 zh-rCN; 表示英文和美国的配置选项是en-rUS.其中,zh 和 en 表示中文和英文: 2 如果想 ...
- 【转】iOS多语言本地化(国际化)设置
原文网址:http://www.jianshu.com/p/2b7743ae9c90 讨论的iOS应用中的多语言设置,Ok 一般是两种情况: 1.根据当前设备语言自动切换显示 2.在应用中可进行语言设 ...
- MyEclipse中jsp编码设置
window->preference->Myeclipse->files and editors->jsp,设置编码为utf-8 2.window->preference ...
- eclipse新建jsp模版设置
第一步:找到JSP模板 eclipse -- >perferences - >Web -> jsp files -Editor ->templates: 第二步:准备编辑JSP ...
随机推荐
- log级别
trace<debug<info<warn<error<fatal trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没 ...
- zabbix3.0.4 部署之八 (zabbix3.0.4 报警前端配置)
(如何让报警信息推送----微信.邮件)(邮件与微信一样就不在重复) 创建一个用户 将用户加入administrator组 添加之前设置的报警媒介脚本 设置报警等级 创建动作 配置报警内容 设置报警条 ...
- 阿里云ECS安装sqlserver,本地无法连接问题排查思路
1. 阿里云控制台-对应的ECS实例的安全组是否添加了响应的端口(1433)可以访问: 2. 服务器-sqlserver服务是否开启: 3. 服务器-sqlserver配置器,对应的端口是否启用,已经 ...
- 谈谈Java中的集合
对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式. 接口:Collection Collection是最基本的集合接口,一个Collection代表一组Object,即Collect ...
- 解决idea开启tomcat报Configuration Error: deployment source 'xxx:war exploded' is not valid错
这个问题比较棘手, 出错了的时候Tomcat服务器不能正常运行, 导致网页无法打开, 小组成员都说"Tomcat炸了"! 好在这个这个xml配置文件是自动生成的,重新生成一下就好了 ...
- Danfoss Motor - Automotive Motor: What Sensors Are There?
The Danfoss Motor states that the motor sensor control system is the heart of the entire autom ...
- python 调用exe程序
#!/usr/bin/python #-*- coding:utf-8 -*- import os, subprocess import tkMessageBox import msg_box def ...
- 微信小程序(template的使用)
小程序的template是一个模版功能,在创建一个template后,其他的页面可以引用,相比component较简单.方便! template只需要两个文件,一个wxss文件和wxml文件,也只有这 ...
- react-native 手势响应以及触摸事件的处理
react-native 的触摸事件: TouchableHighlight , TouchableNativeFeedBack , TouchableOpacity , TouchableWitho ...
- BZOJ 2039 人员雇佣 二元关系 最小割
题面太长了,请各位自行品尝—>人员雇佣 分析: 借用题解的描述: a.选择每个人有一个代价Ai b.如果有两个人同时选择就可以获得收益Ei,j c.如果一个人选择另一个不选会产生代价Ei,j 这 ...