- 浏览: 3560791 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
struts2国际化 在struts2中需要做国际化的有: jsp页面的国际化,action错误信息的国际化,转换错误信息的国际化,校验错误信息的国际化 在之前的例子中已经做过和国际化相关的例子了,在struts.xml中配置过 view plaincopy to clipboardprint? <constant name="struts.custom.i18n.resources" value="message"></constant> 其中的message就是国际化资源文件的baseNmae。 我们先看看简单的在jsp中进行国际化 在src目录下新建message_en_US.properties,内容为 hello=add user 新建message_zh_CN.properties文件,内容为 hello=\u589e\u52a0\u7528\u6237 然后修改register2.jsp 要想使用国际化显示,可以将信息添加到<s:text></s:text> 标签中,也可以放在<s:i18n></s:i18n> 中, 在这里,先使用标签 <s:text></s:text> 增加以下内容: view plaincopy to clipboardprint? <s:text name="hello"></s:text> 重启服务器后,浏览该页,默认会显示出“增加用户”,可以在IE中打开Internet选项,在常规中选择语言,增加英语(美国)[en-US],然后设置为第一项,刷新就可以看到输出“add user”。 action错误的国际化 在message_en_US.properties中增加以下内容 username.invalid=username invalid... 在message_zh_CN.properties中增加以下内容 username.invalid=\u7528\u6237\u540d\u4e0d\u5408\u6cd5... 修改RegisterAction中的validate方法,将错误加到ActionError中,在这里将使用到ActionSupport中的getText方法获得和国际化资源文件相关的信息。 以username验证为例: view plaincopy to clipboardprint? if (null == username || username.length() < 5 || username.length() > 10) { this.addActionError(this.getText("username.invalid")); } 这样就从资源文件中读取username.invalid的值,增加到ActionError中。 查看该页面不输入任何数据,提交后就可以看到显示效果了。 验证框架的国际化(field级别错误) 在message_en_US.properties文件中增加以下内容 username.xml.invalid=validate information 在message_zh_CN.properties文件中增加以下内容 username.xml.invalid=\u9a8c\u8bc1\u6846\u67b6\u4fe1\u606f 然后修改验证框架,需要将在properties文件中的内容增加到框架中。 以username为例 view plaincopy to clipboardprint? <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message key="username.xml.invalid"></message> </field-validator> </field> 在message标签中增加属性key,值为properties文件中的key 标签中key大多是和国际化相关的 国际化资源文件的分类 当应用程序很大时,需要国际化的东西会很多,因此需要将国际化资源文件进行分类。 需要知道的是在src中的properties文件是全局资源文件,另外还可以分为包级别的和类级别的 首先看看包级别的 命名规则为package_language_country.properties 新建package_en_US.properties,内容为 username.xml.invalid=package validate information 新建package_zh_CN.properties,内容为 username.xml.invalid=\u5305\u9a8c\u8bc1\u4fe1\u606f 可以看到输出的信息为“包验证信息”,由此可见包级别的国际化资源文件的优先级高于全局国际化资源文件。 类级别 新建RegisterAction_en_US.properties,内容为 username.xml.invalid=class validate information 新建RegisterAction_zh_CN.properties,内容为 username.xml.invalid=\u7c7b\u9a8c\u8bc1\u4fe1\u606f 此时可以看到输出的信息为“类验证信息”。 由此可以得到国际化资源文件的优先级 全局<包级别<类级别 另外要进行表单的国际化时,要去掉theme="simple" 在RegisterAction_en_US.properties中增加 username.name=username 在RegisterAction_zh_CN.properties中增加 username.name=\u7528\u6237\u540d 修改表单标签 view plaincopy to clipboardprint? <s:textfield name="username" key="username.name"></s:textfield> 注意到key一般是和国际化相关的。 另外除了用 另外除了用<s:text>这个标签外,还可以使用<s:i18n>这个标签 view plaincopy to clipboardprint? <s:i18n name="temp"></s:i18n> 标签中包含name,代表着可以定义资源文件的baseName,如可以定义成temp,那么对应着 temp_en_US.properties和temp_zh_CN.properties这两个资源文件。 如定义: view plaincopy to clipboardprint? <s:i18n name="hello"> <s:text name="world"> <s:param>struts2</s:param> </s:text> </s:i18n> 注意到可以在<s:text>标签中增加<s:i18n> 标签。 在hello_en_US.properties文件中增加 world=hello {0} hello_zh_CN.properties中增加 world=\u4f60\u597d,struts2 在struts2的默认拦截器栈中已经定义了i18n拦截器,所以struts2已经是一个国际化的框架了。 struts2会查找从客户端提交的request_locale属性,并存到session中的WW_TRANS_I18N_LOCALE字段 中。 这个<s:text> 标签外,还可以使用<s:i18n> 这个标签 view plaincopy to clipboardprint? <s:i18n name="temp"></s:i18n> 总结一下显示方法: <s:textname="hello"></s:text> getText("username.invalid") <message key="username.xml.invalid"></message> <s:textfield name="username" key="username.name"></s:textfield> <s:i18n name="temp"></s:i18n>
发表评论
-
struts2的执行机制
2012-10-21 18:37 1623struts2是web应用中一个常用的mvc框架,下面探 ... -
Struts 2请求处理流程 命令模式2
2012-10-16 16:20 1794将“请求”封装成命令对象。把行为请求者和行为实现者进行解耦。 ... -
Struts 2请求处理流程 命令模式
2012-10-16 16:15 2837Struts 2请求处理流程 2010-06 ... -
STRUTS2核心控制器:FilterDispatcher (写的真心清晰)
2012-10-16 16:07 37077STRUTS2核心控制 ... -
struts2源码阅读1
2012-10-16 11:09 1287Struts2源码阅读 ... -
struts2 文件上传
2012-08-12 16:20 16072、新建Action 第一种方式 packag ... -
Struts2实现的6位数字的验证码程序
2012-08-05 16:39 1256http://ipc.iteye.com/bl ... -
Struts2 异步跳转页面被js extjs jquery ajax 拦截(转)
2012-08-04 16:51 4980Struts2中使用getJSON方式进行 ... -
struts2 拦截器权限控制
2012-08-04 10:37 1713工程布局: 直 ... -
struts2学习的博客
2012-02-26 10:59 1277http://downpour.iteye.com/blog/ ... -
拦截器 参数不过去
2012-02-26 10:28 4616还是同样的问题,拦截器在以前学的时候,学的 ... -
struts 国际化乱码
2012-02-25 09:15 1758差不多半年没复习框架了,都在搞论文和打基础,什么算法和数 ... -
struts2拦截器的实现
2012-02-25 08:39 1621如何使用struts2拦截 ... -
struts2连mysql乱码解决方法
2011-08-27 20:34 1549(2009-11-12 20:12:47) 转 ... -
关于json与struts2进行数据交互 (2010-11-02 20:17:33) 转载 标签: 杂谈 分类: java技术 为了怕以后的开发中出现同样的问
2011-06-26 21:20 2026关于json与struts2进行数据交互 (2010-1 ... -
struts2 jquery
2011-05-08 09:30 1681使用这个组合,感觉还是很方便灵活的。 1、将struts2的 ... -
struts2 <s:if> list map set 判断为空的问题
2011-04-25 13:18 8504<s:if test="#request.li ... -
struts2 标签 获取 request
2011-04-25 10:44 2404在Action中获取request方法一: 在Action ...
相关推荐
在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...
在“Struts2国际化Demo”中,我们主要探讨的是如何利用Struts2框架实现应用的多语言支持,即国际化(i18n)功能。国际化是一种设计方法,使得软件能够根据不同地区的语言和文化习惯进行调整,使得全球用户都能无障碍...
### STRUTS2国际化的问题 #### 一、Struts2国际化的概述 Struts2作为一个流行的Web应用框架,为了满足全球用户的使用需求,提供了一系列国际化(Internationalization, 简称I18N)的支持。这包括了如何在配置文件...
总的来说,这个项目提供了一个基础的Struts2应用实例,展示了如何实现国际化、使用Struts2标签库,以及创建简单的用户注册和登录功能,尽管它并不涉及实际的数据存储。对于学习和理解Struts2框架的运作机制,这是一...
Struts2国际化的实现原理;简单的struts2国际化实现过程的讲解
### Struts2国际化详解 #### 一、引言 随着全球化的不断推进,软件系统越来越多地需要支持多种语言和地区设置,以满足不同国家和地区用户的使用习惯。因此,国际化(Internationalization,简称i18n)成为了现代...
Struts2的国际化功能,简称i18n,允许应用程序根据用户的语言和地区提供相应的界面和信息,无需修改核心代码。这一特性使得软件更具有全球化的适应性,满足不同文化和语言背景的用户需求。 **5.1 Struts2国际化原理...
在Struts2中,实现国际化是一项重要的功能,使得开发者可以为全球用户提供符合他们本地习惯的界面。 首先,国际化的核心是资源文件,通常命名为`properties`格式,如`messages.properties`。这些文件存储了应用中的...
Struts1 和 Struts 2 是两种非常流行的Java Web开发框架,它们都提供了对国际化(i18n)的支持,使得应用能够根据用户的语言和地区显示相应的本地化内容。国际化是软件设计的一个重要方面,它允许应用程序在全球范围...
Struts2是一个流行的Java web框架,它提供了强大的国际化支持,帮助开发者创建多语言的应用程序。在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们...
在“struts2国际化测试”这个主题中,我们将探讨如何在Struts2框架下实现应用程序的国际化功能。 首先,国际化(i18n,i代表第9个字母n,18是n到i的字母数,表示国际化)是使软件能够适应不同语言和文化背景的重要...
struts2国际化MyEclipse开发struts2国际化MyEclipse开发童叟无欺