struts2的国际化分三种情况:前台页面的国际化,Action类中的国际化,配置文件的国际化。
首先指定全局的国际化资源文件:
在配置文件struts.xml中引入
<constant name="struts.custom.i18n.resources" value="message"></constant>
(注意位置)
或
在struts.properties文件中指定如下一行:
struts.custom.i18n.resources=message
指定的国家化资源文件即为
xxx_语言_国家.properties
message_zh_CN.properties(简体中文资源文件)
message_en_US.properties(美国英语资源文件)
(1).JSP页面上的国际化(使用struts2的<s:text .../>):
<s:i18n name="message"> <s:text name="hello"> <s:param>${username}</s:param> </s:text> </s:i18n>
message_en_US.properties文件配置:
hello=hello world,{0}
message_zh_CN.properties文件配置:
hello=你好,{0}
(2)表单元素的Label国际化:
未国际化:
<s:textfield name="username" label="username"></s:textfield> <s:textfield name="password" label="password"></s:textfield>
国际化后:
<s:textfield name="username" key="uname"></s:textfield> <s:textfield name="password" key="pword"></s:textfield>
message_en_US.properties文件,配置:
uname=username
pword=password
message_zh_CN.properties文件,配置:
uname=用户名
pword=密码
(3).Action中的国际化:
未国际化:
this.addFieldError("username", "the username error!");
this.addFieldError("password", "the password error!");
国际化后:
this.addFieldError("username", "username.error");
this.addFieldError("password", "password.error");
message_en_US.properties文件配置:
username.error = the username error !
password.error = the password error!
message_zh_CN.properties文件配置:
username.error=用户名错误!
username.error=密码错误!
(4).配置文件中的国际化:
以输入校验的LoginAction-validation.xml为例:
未国际化:
<field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>username should not be empty!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">12</param> <message>username should be between ${minLength} and ${maxLength}!</message> </field-validator> </field>
国际化后:
<field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message key="username.empty !"></message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">12</param> <message key="username.size"></message> </field-validator> </field>
message_en_US.properties文件配置:
username.empty = the username should not be empty !
username.size = the size of username shoule be between 6 and 12 !
message_zh_CN.properties文件配置:
username.empty =用户名不能为空 !
username.size = 用户名长度在6到12 !
注:message_zh_CN.properties这个国际化资源文件不允许包含非西欧字符。
Java提供了一个工具来处理该文件中的中文:native2ascii,这个工具可以在%JAVA_HOME%/bin路劲下找到。
发表评论
-
manven构建spring+springmvc+mybaitis框架
2016-04-23 22:51 0最近要离职了,闲暇的时候想自己构建个项目,说干就干。 具体 ... -
有个内存溢出的问题请教啊!
2015-08-18 16:58 976public Map<String, Object ... -
六年JAVA兼职
2014-10-10 14:08 355我叫刘洋,JAVA开发做了六年多了,大大小小的项目做过很多 ... -
新手搭车maven
2014-04-29 15:50 59最近工作太繁忙,一直没有时间来充电。 偶然的一个机会 ... -
关于DB2日常使用中遇到的问题
2013-07-30 10:07 8451 经常需要用到在不drop表的前提下去修改表字段的数据 ... -
我还年轻,我渴望上路.
2012-12-02 09:19 72不知不觉快工作两年多了,最近玩的也比较多,是时候放下玩的心了, ... -
ijetty的应用开发
2012-11-30 16:29 3193最近使用ijetty开发了一 ... -
求助一个关于公式编辑器插件的问题。
2012-08-09 11:27 74附件是一个网页可用的公式编辑器插件。 总体上很符合我想找的 ... -
关于java优化的东东
2012-07-17 11:33 951最近的机器内存又爆满了,除了新增机器内存外,还应该好好revi ... -
web.xml常用标签命令详解
2012-06-13 14:14 5357web.xml文件是用来初始化配置信息:比如welcome页面 ... -
关于常用的一些linux下命令
2012-06-12 17:14 9021,linux 创建文件 mkdir XXX 创建目录 ... -
做java开发的困惑
2012-06-05 20:23 1029从事java开发也快两年了。 忽然很迷茫了。 也发现越来越 ... -
开发中用到过的UTIL类
2012-06-01 14:58 24221,加密的Util类 /* ============= ... -
build的那些东西
2012-05-30 16:01 1140<?xml version="1.0" ... -
项目数据库执行
2012-04-19 15:44 1387DBtool.java package com.zte ... -
HTTPClient发送请求的几种实现
2012-04-01 17:21 139391,可以使用最基本的流对象 URL对象直接将请求封装 然后发送 ... -
静态页面拖拽实现代码
2012-04-01 17:18 1056静态拖拽行: <html> ... -
回忆 struts1/2
2012-04-01 17:14 1084struts1 与 struts2的对比。 action类 ...
相关推荐
总结,这个Struts2国际化例子源码展示了如何在Java web应用中实现多语言支持,通过配置Struts2框架、编写Action类、创建资源文件以及在JSP页面中使用标签,实现了对不同语言环境的适应。这个例子对于理解和实践...
综上所述,Struts2框架提供了丰富的国际化支持,通过对配置文件、后端处理逻辑以及前端展示的合理设置,可以轻松实现多语言应用的开发。开发者需要关注字符编码的处理,以确保不同语言环境下数据的一致性和准确性。
Struts2的国际化处理更加灵活,它支持动态资源加载和更丰富的配置选项。 1. **资源文件**:与Struts1类似,也需要创建多个`.properties`文件,但Struts2可以使用Spring的`MessageSource`接口,这允许更高级的配置和...
在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们需要声明全局的国际化资源文件。通过设置常量`struts.custom.i18n.resources`的值为`message`,我们...
这个文件可能包含了Struts2的配置、国际化资源文件以及相关的Java代码示例,供学习者参考和实践。 总之,理解和掌握Struts2的国际化以及利用Eclipse的国际化插件进行资源文件管理是提高Java Web开发技能的重要一环...
6. struts.custom.i18n.resources:这是一个附加的国际化属性文件路径,Struts2将加载这个文件中的国际化信息。 7. struts.custom.properties:这是一个附加的配置文件路径,Struts2将加载这个文件中的设置和参数。...
2. **国际化配置**: - **struts.locale**:指定Web应用的默认Locale。 - **struts.i18n.encoding**:指定Web应用的默认编码集,对于处理中文请求参数非常有用。一般设置为 `GBK` 或者 `GB2312`。 3. **对象工厂...
- `<message-resources>`: 国际化资源文件配置。 - `<plug-in>`: 插件配置。 ##### 2. 关键配置项 - **`<form-bean>`**: - 定义表单Bean的属性和验证规则。 - **`<action-mapping>`**: - 映射Action的执行逻辑...
在配置Struts2的过程中,理解其核心概念和配置文件至关重要。 首先,我们来看Struts2的配置文件,通常名为`struts.xml`。这个文件定义了应用程序的行为、拦截器栈、结果类型、包配置等。例如,我们可以定义一个...
接下来,让我们看看如何配置Struts2以支持国际化。在Struts2的配置文件`struts.xml`中,我们需要定义一个全局结果类型`i18n`,这样当用户请求改变语言时,框架知道如何处理。以下是一个示例配置: ```xml ...
创建Struts2的国际化配置主要涉及以下几个步骤: 1. **创建资源文件**:在项目的`src/main/resources`目录下,为每种语言创建相应的资源文件,如`messages.properties`(默认语言,通常为英文)和其他语言版本。 2...
然后,我们需要在 `struts.xml` 文件中配置国际化资源文件的位置,并设置 `struts.custom.i18n.resources` 常量。 在 JSP 页面中,我们可以使用 `<s:text>` 标签来显示国际化文本。例如,我们可以使用以下语句来...
在实际项目中,你可能需要根据业务需求进行更复杂的配置,如国际化、数据校验、主题等。熟练掌握这些配置能够帮助开发者更好地控制应用程序的流程,提升开发效率,同时确保应用的稳定性和扩展性。因此,对`struts....
- **资源文件支持**:Struts 1.2 支持将国际化资源存储在 `.properties` 文件中,每个文件对应一个特定的 `Locale`。 - **标签库**:Struts 1.2 提供了一系列用于显示和处理国际化内容的标签,如 `<s:text>` 标签...
首先,要实现Struts2的国际化,你需要确保已经引入了Struts2的必要框架包,并且Struts2的配置文件已经完全设置好。在配置文件`struts.properties`(位于src目录下)中,添加一行`struts.custom.i18n.resources=...
文件`struts2_properties_20150922_guojihua2`很可能包含了Struts2的国际化配置示例,可能是针对2015年9月22日的一个更新或修正。文件名中的“guojihua2”可能是对这个版本的特定描述,可能指的是第二次国际化的改进...
在你提供的压缩包中,可能包含了Struts2框架的所有核心组件、依赖库和必要的配置文件,这些都是构建基于Struts2的应用所必需的。 首先,我们来看一下Struts2的核心组件: 1. **Action类**:这是业务逻辑的载体,...
总之,Struts2的国际化配置主要涉及资源文件的创建、Action类的修改、Struts2配置文件的更新以及JSP页面的适配。通过这些步骤,你可以为全球用户提供符合他们语言习惯的应用体验。记得在实际开发中,不断测试和优化...
总的来说,这个项目提供了一个基础的Struts2应用实例,展示了如何实现国际化、使用Struts2标签库,以及创建简单的用户注册和登录功能,尽管它并不涉及实际的数据存储。对于学习和理解Struts2框架的运作机制,这是一...