16.1什么是国际化、本地化

国际化:
国际化(Internationalization,i18n)是程序在不做任何修改的情况下,就可以根据当地的语言和格式习惯显示字符。
本地化:
一个国际化程序,当他运行在本地计算机上时,可以根据本地计算机的语言和地区设置显示相应的字符,这个过程叫本地化。
目前,最常见的国际化支持就是中文,英文

16.2 Java内置国际化

Struts2的国际化依赖于Java内置的国际化机制。
Java对国际化的支持是通过Unicode字符集来定义的,主要的API有Locale,ResourceBundle16.2.1 LocaleLocale 对象表示了特定的地理、政治和文化地区。需要 Locale 来执行其任务的操作称为语言环境敏感的 操作,它使用 Locale 为用户量身定制信息。例如,显示一个数值就是语言环境敏感的操作,应该根据用户的国家、地区或文化的风俗/传统来格式化该数值。中国=CN  中文=zh
美国=US  英文=en
案例:通过Local查看Java支持的国家和语言

16.2.2 ResourceBundleJava程序的国际化思路是将程序中的提示信息等放在资源文件中,为不同的国家编写对应的资源文件。资源文件由key-value组成,key保持不变,value随着国家的不同而不同。
这些资源文件属于同一个资源系列,所以要使用共同的基名,
比如resource_en_US.properties, resource_zh_CN.properties
下面我们来看看怎么实现国际化信息的获取
1.两个配置文件,编写不同的国家符号信息
2.采用Locale和ResourceBundle结合,得到具体国家的信息

3.如果配置文件里面存在占位符的情况,如何为占位符赋值{0}

4.配置文件


16.3 Struts2的国际化

16.3.1 Struts2国际化机制Struts2运行时自动检测当前的Locale,然后使用ResourceBundle加载对应的Locale资源文件。
Struts2的国际化包含三部分:
前台页面的国际化
Action类的国际化
信息配置文件的国际化16.3.2 实现国际化a) 配置全局资源文件
一般是将国际化信息放到国际化资源文件中,然后在struts.xml文件中配置该文件为全局的,这样可以方便在页面中访问到该资源文件,从而实现国际化。
所以,关键是如何让struts2能够加载到国际化消息资源文件。
<constant name="struts.custom.i18n.resources" value="resource"/>

    b) struts.xml

    c) 自动选择语言环境,实现国际化key值会自动取对应语言环境中value

    最关键是在页面传递一个request_locale的参数

Struts2-16.Struts2国际化相关推荐

  1. 【struts2】struts2简介

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 一 ...

  2. struts2(一) struts2入门

    首先推荐一本书,虽然我还没看过,但是我以后肯定会看的,<Struts+技术内幕>提取密码:kg6w .现在只是停留在会使用struts2的层次,自己也想继续深入研究,但是感觉自己的知识面还 ...

  3. Struts2之struts2文件下载详解

    一.学习案例:通过在downloadfile.jsp页面点击"下载文件",查看文件是否可以成功下载. 二.案例分析:struts2文件下载只需简单配置即可. a)先在下载页面(do ...

  4. JavaWeb -- Struts2 ResultType细化, 国际化

    1. ResultType细化 <result-types><result-type name="chain" class="com.opensymph ...

  5. Struts2中的国际化

    1为什么需要国际化呢?? 几年之前,应用程序开发者能够考虑到仅仅支持他们本国的只使用一种语言(或者有时候是两种)和通常只有一种数量表现方式(例如日期.数字.货币值)的应用.然而,基于web技术的应用程 ...

  6. SSH笔记-Struts2的语言国际化

    1.配置国际化资源文件 四种方法 1.action范围资源文件:在action类所在路径建立 actionname_language_country.properties,适用于指定action类 如 ...

  7. struts2框架之国际化(参考第二天学习笔记)

    国际化 1. 回忆之前的国际化 1). 资源包(key=字符串) > 命名:基本名称+local部分.properties,res_zh.properties,res_zh_CN.propert ...

  8. 【struts2】struts2配置文件—struts.properties

    Struts 2框架有两个核心配置文件,其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等.除此之外,Struts2框架还包含struts.p ...

  9. java struts2 demo,Struts2第一个Demo求指导

    Struts2第一个Demo求指点 本人初学Struts2,按照书上的示例自己写了一个Demo.配置文件及路径如下: login.jsp: pageEncoding="UTF-8" ...

  10. 【struts2】struts2拦截器

    struts2提供面向切面(AOP)编程的机制,拦截器便是一种成熟的AOP编程思想的实现,它提供一种机制使开发者能把相对独立的代码抽象出来,配置到action前后执行.拦截器interceptor类似 ...

最新文章

  1. Jmeter学习记录的知识点
  2. 世界人工智能发展究竟到了什么水平
  3. 核聚类与支持向量聚类
  4. Ubuntu 软件包管理详解
  5. 网站收录工具(php导航自动收录源码)_10步把企业网站优化做到极致,SEO优化的核心知识...
  6. vue如何获取tree当前选中的节点_vue中element-ui 树形控件-树节点的选择(选中当前节点,获取当前id并且获取其父级id)...
  7. spring cloud 和 dubbo 各自的优缺点
  8. Matlab产生随机数、随机矩阵及正态分布矩阵
  9. Arquillian和Jboss的版本问题
  10. 最简单的直播礼物连刷特效制作(带源码)
  11. 系统性谈谈软件可靠性——第3讲:软件可靠性设计方法
  12. Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做
  13. Redis 基础 - 优惠券秒杀《初步优化(异步秒杀)》
  14. A simple webframe base on web.py
  15. 隐私公链Findora全景观察
  16. live writer实用插件合集
  17. 产品版本、软件版本、文档版本定义
  18. 人类高质量代码解约瑟夫环问题
  19. 0417-Autosar AP总结
  20. 项目实训(十三)——FPS游戏射击反馈震屏及UI子弹数量

热门文章

  1. oracle错误汇总
  2. IAR MSP430头文件中的一些解释
  3. 云平台支持哪些java应用服务器_腾讯云部署javaWeb项目之一应用服务器
  4. 微信小程序app.js给全局变量globalData赋值
  5. 万能地图下载器下载谷歌卫星地图在CAD中套合
  6. HTML代码中的空格和空行
  7. 数据上传虚拟服务器,如何上传数据到虚拟主机
  8. Python设计模式二:接口类和抽象类(Python接口设计)
  9. C语言 进制转换(1-16进制)
  10. 安卓开发(2)之安卓操作系统架构