struts2国际化相关问题
国际化资源文件的方式:
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国际化相关问题的更多相关文章
- struts2国际化
struts2国际化 1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素 ...
- struts2国际化全例 错误解决
在struts2中需要做国际化的有: jsp页面的国际化,action错误信息的国际化,转换错误信息的国际化,校验错误信息的国际化 在之前的例子中已经做过和国际化相关的例子了,在struts.xml中 ...
- 【转】Struts2国际化
原文章:http://www.cnblogs.com/hellokitty1/p/5083663.html 简单理解 国际化简称i18n,其来源是英文单词 internationalizati ...
- (六)Struts2 国际化
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:国际化简介 国际化(Internationlization),通俗地讲, ...
- struts2系列(四):struts2国际化的多种方式
一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...
- 菜鸟学SSH(三)——Struts2国际化自动检测浏览器语言版
前几天发了一篇Struts国际化的博客——<菜鸟学习SSH(二)——Struts2国际化手动切换版>,有网友提了一个意见,见下图: 于是就有了下面修改的版本: web.xml <?x ...
- struts2学习(10)struts2国际化
一.国际化简介: 二.struts2国际化设置: struts.xml: <?xml version="1.0" encoding="UTF-8" ?&g ...
- Struts2国际化-getText()方法
转自https://blog.csdn.net/qq_43560838/article/details/83747604 一:简单理解 国际化简称i18n,其来源是英文单词 international ...
- [JavaWeb基础] 016.Struts2 国际化配置
如果一个软件想要让其受众是全球或者是几个国家的人,那么这个软件就需要支持多种语言,那么我们就需要软件的国际化去对一些文字信息进行国际化处理.web也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...
随机推荐
- Eclipse rap 富客户端开发总结(4):如何搭建 rap 中文开发环境
Rap中文开发环境搭建大约分为2个部分 1. rap国际化,详细参加文章(rap开发经验总结(5)-rap国际化之路) 2.rap自带的JFace ,Dialog 等国际化 1.中文包下载地址: h ...
- Oracle-一个中文汉字占几个字节?
Oracle 一个中文汉字占用几个字节 Oracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定!!! 1. 如果定义为VARCHAR2(32 CHAR),那么该列最多就可以存储3 ...
- Activiti-02-activiti api
流程引擎API和服务 通过ProcessEngine你可以获取各种服务,它和所有的服务对象都是线程安全的,因此整个整个应用中可以只有一份. ProcessEngine processEngine =P ...
- Elasticsearch 的分页报错 result window is too large
检查自己分页查询的代码 Pageable pageable = new PageRequest(0, 10000); searchQuery.setPageable(pageable); // 分页效 ...
- Android 之异步加载LoaderManager
LoaderManager: Loader出现的背景: Activity是我们的前端页面展现,数据库是我们的数据持久化地址,那么正常的逻辑就是在展示页面的渲染页面的阶段进行数据库查询.拿到数据以后才展 ...
- Writing Science 笔记 6.20
1.写作的六个要素:S: Simple 简单的 U: Unexpected 出人意料的 C: Concrete 具体的 C: Credible 可信的 E: Emotional S: Storie ...
- VacmMIB
VACM 基于视图的访问控制模型 是SNMPV3对MIB中被管对象的访问进行控制的模型 特点: 1.VACM 确定是否允许用户访问本地MIB的被管理对象.当用户请求消息到达代理的命令响应器时,命令响 ...
- 【重点突破】——Canvas技术绘制随机改变的验证码
一.引言 本文主要是我在学习Canvas技术绘图时的一个小练习,绘制随机改变的验证码图片,虽然真正的项目里不这么做,但这个练习是一个掌握Canvas技术很好的综合练习.(真正的项目中验证码图片使用服务 ...
- Codeforces Round #425 (Div. 2)C
题目连接:http://codeforces.com/contest/832/problem/C C. Strange Radiation time limit per test 3 seconds ...
- URL不能过长,否则summit方法提交失败
MVC5.0+EF6.0,和浏览器的版本有关系.IE最多1024KB. URL不能过长,否则summit方法提交失败.