国际化
1 什么是国际化
国际化就是中国人登录的时候是这样的
美国人登录的时候是这样的
要想支持国际化
把与语言相关的所有字符串都写成变量!!!
现在写两个配置文件,文件名称必须放在src 下面
username=Username
password=Password
login=Login
在myeclipse中
Locale 语言环境
package cn.itcast;
import java.util.Locale;
import java.util.ResourceBundle;
import org.junit.Test;
/**
* 我们使用一个类,来通过语言环境,最终识别加载哪一个文件的信息:ResourceBundle
* 什么语言环境:Locale
* > zh_CN 中文_中国
* > en_US 英文_美国
* new Locale("zh", "CN"); //创建一个语言环境的对象
* Locale.getDefault();//系统会帮我们获取默认的本电脑系统的语言环境
* Locale.US //
* @author cxf
*
* 资源文件名称的格式:基本名称+Locale部份+.properties
* 例如:res_zh_CN.properties,其中基本名称为res,而zh_CN是Locale部份
* 必须所有的资源文件基本名称要相同!不同之处就是Locale部分
*/
public class Demo1 {
@Test
public void fun1() {
//要想切换资源文件,只需要切换Locale 就可以了
Locale locale = Locale.CHINA;
// Locale locale = Locale.US;
// 得到ResourceBundle
// 第一个参数是:基本名称
// 第二个参数是:Locale
ResourceBundle rb = ResourceBundle.getBundle("res", locale);
// 使用ResourceBundle来获取资源信息
System.out.println(rb.getString("username"));
System.out.println(rb.getString("password"));
System.out.println(rb.getString("login"));
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/3aafd7d354673d3669792ba3f15fb799.png)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="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>
<%--
把与语言相关的所有字符串都写成变量!!!
--%>
<%
/*
1. 获取Locale,这是由客户端的浏览器提供的Locale
2. 创建ResourceBundle
3. 把所有的语言信息使用rb.getString("xxx")来替换!
*/
Locale locale = request.getLocale();
ResourceBundle rb = ResourceBundle.getBundle("res", locale);
%>
<h1><%=rb.getString("login") %></h1>
<form action="" method="post">
<%=rb.getString("username") %>:<input type="text" name="username"/><br/>
<%=rb.getString("password") %>:<input type="password" name="password"/><br/>
<input type="submit" value="<%=rb.getString("login") %>"/>
</form>
</body>
</html>
备用方案是英文
其实request.getLocale() 方法得到的其实请求头当中的第一个语言方案就是zh_CN