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也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...
随机推荐
- 数据结构与算法->树->2-3-4树的查找,添加,删除(Java)
代码: 兵马未动,粮草先行 作者: 传说中的汽水枪 如有错误,请留言指正,欢迎一起探讨. 转载请注明出处. 目录 一. 2-3-4树的定义 二. 2-3-4树数据结构定义 三. 2-3-4树的可以得到 ...
- Servlet第七篇【Cookie和Session的区别、应用】
Session和Cookie的区别 从存储方式上比较 Cookie只能存储字符串,如果要存储非ASCII字符串还要对其编码. Session可以存储任何类型的数据,可以把Session看成是一个容器 ...
- ASP.Net开发WebAPI跨域访问(CORS)的精简流程
1: Web.config里有一行: <remove name="OPTIONSVerbHandler" /> 这个要删除. 2: nuget安装Microsoft.A ...
- Routing in ASP.NET Core
.NET-Core Series Server in ASP.NET-Core DI in ASP.NET-Core Routing in ASP.NET-Core Error Handling in ...
- String类的源码分析
之前面试的时候被问到有没有看过String类的源码,楼主当时就慌了,回来赶紧补一课. 1.构造器(构造方法) String类提供了很多不同的构造器,分别对应了不同的字符串初始化方法,此处从源码中摘录如 ...
- linux文件权限解析(摘)
用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建 ...
- 点击截图功能 js canvas
使用:html2canvas实现浏览器截图 <html> <head> <meta name="layout" content="main& ...
- Power Strings poj2406(神代码)
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 29402 Accepted: 12296 D ...
- eclipse安装lombok插件问题解决
在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO.简单的说,就是 ...
- R语言基础语法
学习一门新的语言,率先学习输出hello world.我们就从这里开始学习. 首先打开RStudio这个IDE,然后在左边输入: > mystr <- "hello world& ...