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 !
password.empty = the password should not be empty !
password.size = the size of password shoule be between 6 and 12 !
message_zh_CN.properties文件配置:
username.empty =用户名不能为空 !
username.size = 用户名长度在6到12 !
password.empty =密码不能为空 !
password.size = 密码长度在6到12 !
注:message_zh_CN.properties这个国际化资源文件不允许包含非西欧字符。
Java提供了一个工具来处理该文件中的中文:native2ascii,这个工具可以在%JAVA_HOME%/bin路劲下找到。
分享到:
相关推荐
在“struts国际化(项目)”中,我们关注的是如何使应用程序支持多种语言,即国际化(Internationalization,通常缩写为i18n)。这个主题包括了资源包的创建、配置文件的设置以及在Struts中如何调用这些资源来显示...
### Struts中文问题与国际化问题——终极解决方案深度解析 #### 引言 在Web应用开发中,特别是使用Struts框架时,中文显示和国际化(Internationalization,简称i18n)问题是开发者常遇的挑战。本文将深入探讨解决...
"Struts国际化完整dome"是一个示例项目,它演示了如何在Struts应用中实现国际化功能。 1. **国际化基础** 国际化是软件开发中的一个关键概念,目的是使软件能够适应不同地区的语言和文化习惯。在Java中,主要通过`...
通过本“Struts国际化录象教程”,你将学习如何创建资源包,配置Struts以支持国际化,以及如何在JSP页面上使用这些资源。同时,教程也将涵盖如何处理用户选择的语言偏好,确保应用的多语言支持功能顺畅运行。通过...
"Struts国际化小工具"可能是一个辅助工具,帮助开发者更方便地管理这些资源束文件,进行翻译和测试。这个小工具可能具有以下功能: 1. **资源文件管理**:工具可能提供了图形用户界面(GUI),允许用户创建、编辑和...
通过这个Java Struts国际化演示项目,你可以深入理解Struts如何处理不同语言的用户请求,以及如何设计和组织资源包。实践操作将帮助你更好地掌握这一技能,从而在实际项目中为用户提供更好的多语言支持。
以下是对Struts国际化进行详细解释的知识点: 1. **i18n的基本概念**:i18n代表的是“国际化”,之所以称为i18n是因为从'i'到'n'共有18个字母。这个术语用于描述软件或Web应用的设计和实现,使其能够轻松地适应不同...
"Struts国际化处理"是指在Struts框架中实现应用程序的多语言支持。这通常涉及到以下几个关键概念和步骤: 1. **资源文件**:在Struts中,我们使用.properties文件来存储不同语言的文本资源。例如,`messages_en....
### Struts国际化的使用 #### 一、Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)框架,它简化了Java Web应用的开发过程,并且支持多种功能,包括表单验证、国际化等。对于需要支持多语言的应用...
本实例“MyI18N-struts国际化实例”将指导我们如何在Struts项目中实现国际化。下面我们将深入探讨Struts的国际化实现过程、关键组件和步骤。 首先,理解“i18n”的概念,它是“Internationalization”的缩写,i18n...
### Struts国际化程序尝试 #### 一、Struts与国际化简介 Struts是一个基于MVC(Model-View-Controller)模式的开源Java Web应用框架,它可以帮助开发者构建可扩展、结构清晰的应用系统。Struts提供了丰富的功能来...
在处理Struts国际化问题时,开发者通常需要考虑以下几个关键知识点: 1. **资源文件**:在Struts中,国际化的核心是资源文件,通常命名为`Messages.properties`,它们存储了应用程序中的所有可本地化的字符串。每个...
本项目“struts国际化注册登录验证”是基于Struts实现的一个实例,涵盖了用户注册、登录及验证功能,并结合了MySQL数据库来存储用户信息。 1. **Struts框架基础** Struts是一个开源的Java框架,它基于Model-View-...
在"struts国际化例子"中,我们看到的是如何在Struts框架中实现国际化功能的一个实例。 首先,我们需要理解i18n的基本概念。"i18n"是“国际化”的缩写,这里的数字18代表单词"internationalization"中的字母数量。...
在压缩包文件`jvaee上机struts国际化`中,很可能包含了上述步骤的示例代码。这些代码可能包括了资源文件、Struts配置文件、ActionForm或Action类以及展示本地化内容的JSP页面。通过分析和运行这些示例,你可以更深入...
在这个"Struts2国际化源代码"资源中,我们可以深入理解如何在Struts2应用中实现国际化功能。 首先,国际化的核心在于资源文件,通常命名为`Messages.properties`,其中包含了应用程序中的所有可本地化的字符串。...
下面将详细介绍Struts国际化处理的配置步骤和关键知识点。 首先,我们需要了解什么是国际化和本地化。国际化(Internationalization,简称i18n,i与n之间有18个字母)是指设计一个软件或系统,使其能够适应不同的...
2009 MLDN魔乐科技 Struts课堂实战视频教程 全6讲 01-Struts_简介与登陆...02-Struts_工作原理与核心配置 03-Struts_对于输入参数的处理 04-Struts_Bean标签功能 05-Struts_Struts国际化处理 非常经典,适合初学者!
标题中的“SSH分页小例子,Struts国际化”涉及到两个主要的Java Web开发技术:Struts框架和SSH(Spring、Struts、Hibernate)集成。SSH是流行的企业级应用开发框架,其中Struts处理表现层,Spring负责业务逻辑,...