国际化的缺点:

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

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. Ionic2 开发笔记(1)ionic2 +angular2搭建

    1.去node.js官网下载对应版本https://nodejs.org/en/(不会请看OnsenUi搭载,里面有详细过程) 2.然后通过npm下载Ionic和cordova $ npm insta ...

  2. 通过Servlet生成验证码图片

    原文出自:http://www.cnblogs.com/xdp-gacl/p/3798190.html 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类, ...

  3. ionic 添加新module

    angular.module 引入新的module: 1. 在index.html中需要引入必须的js文件2. app.js: angular.module('starter', ['ionic',' ...

  4. ASP.NET MVC 创建控制器类过程

    MvcHandler.ProcessRequestInit()方法: 1.1获取控制器的名称string requiredString = this.RequestContext.RouteData. ...

  5. Android开发之旅:环境搭建

    1.JDK安装 2.Eclipse安装 3.Android SDK安装 4.ADT安装 5.创建AVD

  6. TCP/IP笔记(二)TCP/IP简介

    上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了 互联网与TCP/IP的关系   互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发 ...

  7. 查看apache,mysql,nginx,php的编译参数

    查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 查看apache编译参数:cat /usr/local/apache2/build/config.nice 查看m ...

  8. CoreCLR源码探索(四) GC内存收集器的内部实现 分析篇

    在这篇中我将讲述GC Collector内部的实现, 这是CoreCLR中除了JIT以外最复杂部分,下面一些概念目前尚未有公开的文档和书籍讲到. 为了分析这部分我花了一个多月的时间,期间也多次向Cor ...

  9. 【Unity编程】Unity中关于四元数的API详解

    本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan Unity中关于四元数的API详解 Quaternion类 Quaternion(四元数)用于计 ...

  10. 云片-语音验证码--短信验证码 - PHP接口

    ///////////////////////语音验证///////////////////////////// /**  * 发送短信(语音验证码)云片语音服务  * @param  $apikey ...