国际化资源文件的方式:

  Action范围的
  包范围的
  临时的
  全局的(推荐)

一、配置全局的国际化资源文件
  1.在类路径下,创建国际化资源文件
    baseName.properties
    baseName_zh_CN.properties
    baseName_en_US.properties
    注:baseName的取值随意
  2.在国际化资源文件中键入键值对
  (1)不带占位符
    name=用户名(baseName_zh_CN.properties)
    name=UserName(baseName_en_US.properties)
  (2)带占位符
    time=时间:${0}(baseName_zh_CN.properties)
    time=Time:${0}(baseName_en_US.properties)
  3.在struts.xml文件中配置国际化资源文件的基名
    <constant name="struts.custom.i18n.resources" value="baseName"></constant>

二、访问国际化资源文件
  1.在Action类中
    如果Action类implements TextProvider,使用getText方法
  (1)不带占位符
    getText("name");
  (2)带占位符
    getText("time",Arrays.asList(new Date()));
  2.在jsp页面
  (1)不带占位符
    <s:textfield name="username" key="name"></s:textfield>或
    <s:textfield name="username" label="%{getText('name')}"></s:textfield>
  (2)带占位符
    使用<s:text>的<s:param>子标签来填充占位符
    <s:text name="time">
      <s:param value="date"></s:param>
      <!-- 假设值栈中有一个date属性 -->
    </s:text>

三、使用超链接进行国际化切换
  <a href="languageConvert.action?request_locale=en_US">english</a><br>
  <a href="languageConvert.action?request_locale=zh_CN">中文</a><br>
  执行过程:
      i18n拦截器在会自动查找请求中是否包含一个名为request_locale的请求参数,若有,拦截器就将该请求参数的值转换为Locale对象并保存在session域对象中。
  所以,在请求的超链接中加上名为request_locale的请求参数即可。请求参数的值必须是“语言_国家”。

struts2国际化相关问题的更多相关文章

  1. struts2国际化

    struts2国际化 1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素 ...

  2. struts2国际化全例 错误解决

    在struts2中需要做国际化的有: jsp页面的国际化,action错误信息的国际化,转换错误信息的国际化,校验错误信息的国际化 在之前的例子中已经做过和国际化相关的例子了,在struts.xml中 ...

  3. 【转】Struts2国际化

    原文章:http://www.cnblogs.com/hellokitty1/p/5083663.html 简单理解     国际化简称i18n,其来源是英文单词 internationalizati ...

  4. (六)Struts2 国际化

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:国际化简介 国际化(Internationlization),通俗地讲, ...

  5. struts2系列(四):struts2国际化的多种方式

    一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...

  6. 菜鸟学SSH(三)——Struts2国际化自动检测浏览器语言版

    前几天发了一篇Struts国际化的博客——<菜鸟学习SSH(二)——Struts2国际化手动切换版>,有网友提了一个意见,见下图: 于是就有了下面修改的版本: web.xml <?x ...

  7. struts2学习(10)struts2国际化

    一.国际化简介: 二.struts2国际化设置: struts.xml: <?xml version="1.0" encoding="UTF-8" ?&g ...

  8. Struts2国际化-getText()方法

    转自https://blog.csdn.net/qq_43560838/article/details/83747604 一:简单理解 国际化简称i18n,其来源是英文单词 international ...

  9. [JavaWeb基础] 016.Struts2 国际化配置

    如果一个软件想要让其受众是全球或者是几个国家的人,那么这个软件就需要支持多种语言,那么我们就需要软件的国际化去对一些文字信息进行国际化处理.web也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...

随机推荐

  1. Eclipse rap 富客户端开发总结(4):如何搭建 rap 中文开发环境

    Rap中文开发环境搭建大约分为2个部分 1.  rap国际化,详细参加文章(rap开发经验总结(5)-rap国际化之路) 2.rap自带的JFace ,Dialog 等国际化 1.中文包下载地址: h ...

  2. Oracle-一个中文汉字占几个字节?

    Oracle 一个中文汉字占用几个字节 Oracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定!!! 1. 如果定义为VARCHAR2(32 CHAR),那么该列最多就可以存储3 ...

  3. Activiti-02-activiti api

    流程引擎API和服务 通过ProcessEngine你可以获取各种服务,它和所有的服务对象都是线程安全的,因此整个整个应用中可以只有一份. ProcessEngine processEngine =P ...

  4. Elasticsearch 的分页报错 result window is too large

    检查自己分页查询的代码 Pageable pageable = new PageRequest(0, 10000); searchQuery.setPageable(pageable); // 分页效 ...

  5. Android 之异步加载LoaderManager

    LoaderManager: Loader出现的背景: Activity是我们的前端页面展现,数据库是我们的数据持久化地址,那么正常的逻辑就是在展示页面的渲染页面的阶段进行数据库查询.拿到数据以后才展 ...

  6. Writing Science 笔记 6.20

    1.写作的六个要素:S: Simple 简单的 U: Unexpected 出人意料的 C: Concrete 具体的  C: Credible 可信的  E: Emotional S: Storie ...

  7. VacmMIB

    VACM 基于视图的访问控制模型  是SNMPV3对MIB中被管对象的访问进行控制的模型 特点: 1.VACM 确定是否允许用户访问本地MIB的被管理对象.当用户请求消息到达代理的命令响应器时,命令响 ...

  8. 【重点突破】——Canvas技术绘制随机改变的验证码

    一.引言 本文主要是我在学习Canvas技术绘图时的一个小练习,绘制随机改变的验证码图片,虽然真正的项目里不这么做,但这个练习是一个掌握Canvas技术很好的综合练习.(真正的项目中验证码图片使用服务 ...

  9. Codeforces Round #425 (Div. 2)C

    题目连接:http://codeforces.com/contest/832/problem/C C. Strange Radiation time limit per test 3 seconds ...

  10. URL不能过长,否则summit方法提交失败

    MVC5.0+EF6.0,和浏览器的版本有关系.IE最多1024KB. URL不能过长,否则summit方法提交失败.