国际化的缺点:
因为文字不同,所以带来的排版问题一样严重,通常都是重新在写一个网站反而更加清晰,快捷
1:需要从浏览器中获取到浏览器语言(Accept—Language)
2:利用locale获取
3:加载配置文件(配置文件写在src目录下,且命名需要规范化——res_zh_CN.properties)
4:Java类源码
1 import java.util.Locale; 2 import java.util.ResourceBundle; 3 4 5 import org.junit.Test; 6 7 8 /** 9 * 我们现在写两个配置文件,一个文件中存放中文信息,另一个存放英文信息 10 * 我们使用一个类,来通过语言环境,最终识别加载哪一个文件的信息:ResourceBundle 11 * 什么语言环境:Locale 12 * > zh_CN 13 * > en_US 14 * new Locale("zh", "CN"); 15 * Locale.getDefault(); 16 * Locale.US 17 * 18 * 资源文件名称的格式:基本名称+Locale部份+.properties 19 * 例如:res_zh_CN.properties,其中基本名称为res,而zh_CN是Locale部份 20 * 必须所有的资源文件基石名称要相同!不同之处就是Locale部件 21 */ 22 public class Demo1 { 23 @Test 24 public void fun1() { 25 Locale locale = Locale.US; 26 // 得到ResourceBundle 27 // 第一个参数是:基本名称 28 // 第二个参数是:Locale 29 ResourceBundle rb = ResourceBundle.getBundle("res", locale); 30 // 使用ResourceBundle来获取资源信息 31 System.out.println(rb.getString("username")); 32 System.out.println(rb.getString("password")); 33 System.out.println(rb.getString("login")); 34 } 35 } 36 5:jsp源码 37 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 38 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 39 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 40 <html> 41 <head> 42 <title>My JSP 'login.jsp' starting page</title> 43 <meta http-equiv="pragma" content="no-cache"> 44 <meta http-equiv="cache-control" content="no-cache"> 45 <meta http-equiv="expires" content="0"> 46 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 47 <meta http-equiv="description" content="This is my page"> 48 <!-- 49 <link rel="stylesheet" type="text/css" href="styles.css"> 50 --> 51 </head> 52 <body> 53 <%-- 54 把与语言相关的所有字符串都写成变量!!! 55 --%> 56 <% 57 /* 58 1. 获取Locale,这是由客户端的浏览器提供的Locale 59 2. 创建ResourceBundle 60 3. 把所有的语言信息使用rb.getString("xxx")来替换! 61 */ 62 Locale locale = request.getLocale(); 63 ResourceBundle rb = ResourceBundle.getBundle("res", locale); 64 %> 65 <h1><%=rb.getString("login") %></h1> 66 <form action="" method="post"> 67 <%=rb.getString("username") %>:<input type="text" name="username"/><br/> 68 <%=rb.getString("password") %>:<input type="password" name="password"/><br/> 69 <input type="submit" value="<%=rb.getString("login") %>"/> 70 </form> 71 </body> 72 </html>