国际化的缺点:

  因为文字不同,所以带来的排版问题一样严重,通常都是重新在写一个网站反而更加清晰,快捷

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>

JavaWeb的国际化(17/4/8)的更多相关文章

  1. Javaweb之国际化

    Javaweb之国际化 一.前言 软件的本地化:一个软件在某个国家或地区使用时,采用该国家或地区的语言,数字,货币,日期等习惯. 软件的国际化:软件开发时,让它能支持多个国家和地区的本地化应用.使得应 ...

  2. 深入分析JavaWeb Item22 -- 国际化(i18n)

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同一时候应对世界不同地区和国家的訪问,并针对不同地区和国家的訪问.提供对应的.符合来訪者阅读习惯的页面或数据. 国际化(international ...

  3. JavaWeb的国际化

    国际化 1.国际化开发概述 1.1.软件的国际化 软件开发时,要使它能同时应对世界不同地区和国家的方法,并针对不同地区和国家的方法,提供相应的,符合来访者阅读习惯的页面或数据 国际化简称:i18n : ...

  4. JavaWEB开发国际化

    1.国际化开发概述 )软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. )国际化又称为 i18n:inter ...

  5. JavaSE之概述

    作此篇是鉴于个人Java学习之需要,也便于日后进一步归纳与复习.  规定:      1 Java全面概述[囊括 Java工作原理,JVM方面知识,关键字(final,static,public,pr ...

  6. Javaweb学习笔记——(二十)——————Javaweb监听器、国际化

    Javaweb监听器     三大组件         *Servlet         *Listener         *Filter Listener:监听器         1.初次相见:A ...

  7. javaweb(三十一)——国际化(i18n)

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...

  8. javaweb基础(31)_国际化(i18n)

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...

  9. javaweb学习总结(三十一)——国际化(i18n)

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...

随机推荐

  1. 可扩展标记语言XML

    XML简述 XML用于描述数据,是当前处理结构化文档信息的有力工具.与操作系统编程语言的开发平台无关,可以实现不同系统之间的数据交互. 结构 <?xml version="1.0&qu ...

  2. 读书笔记 effective c++ Item 31 把文件之间的编译依赖降到最低

    1. 牵一发而动全身 现在开始进入你的C++程序,你对你的类实现做了一个很小的改动.注意,不是接口,只是实现:一个私有的stuff.然后你需要rebuild你的程序,计算着这个build应该几秒钟就足 ...

  3. [.net 面向对象程序设计深入](24)实战设计模式——策略模式(行为型)

    [.net 面向对象程序设计深入](24)实战设计模式——策略模式(行为型) 1,策略模式定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它 ...

  4. swift -- 静态变量static

    import UIKit class ViewController: UIViewController {     //静态变量  swift中的static静态变量,只能在这里声明,不能在方法中声明 ...

  5. Spring注解问题,[action中注入service失败

    pring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  6. Git-最简单的本地项目变成版本仓库,然后把内容推送到GitHub仓库

    (注:本文的前提是本地Git仓库和github仓库之间已经存在SSH key了,所以如果没有建立联系的小伙伴们请先建立联系) 具体操作: 一:把本地项目变成版本仓库 1.把本地的一个项目目录编程版本库 ...

  7. java中String s = new String("abc")创建了几个对象?

    答案是两个,现在我们具体的说一下: String s = new String("abc");一.我们要明白两个概念,引用变量和对象,对象一般通过new在堆中创建,s只是一个引用变 ...

  8. android 透明状态栏方法及其适配键盘上推(二)

    在上一篇文章中介绍了一种设置透明状态栏及其适配键盘上推得方法.但是上一篇介绍的方法中有个缺点,就是不能消除掉statusbar的阴影.很多手机如(三星,Nexus都带有阴影).即使我用了: <a ...

  9. 通过hue提交oozie定时任务

    Oozie是什么? Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容: 工作流定义 当前运行的工作流实例,包括实例的状 ...

  10. Java Unicode编码 及 Mysql utf8 utf8mb3 utf8mb4 的区别与utf8mb4的过滤

    UTF-8简介 UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,也是一种前缀码.它可以用来表示Unicode标准中的任何 ...