`
一日一博
  • 浏览: 229919 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Struts2之国际化i18N配置

阅读更多

在struts2中需要做国际化的有:
jsp页面的国际化,action错误信息的国际化,转换错误信息的国际化,校验错误信息的国际化

<constant name="struts.locale" value="zh_CN"/>
<!-- 多个文件的话用逗号隔开 -->
<constant name="struts.custom.i18n.resources" value="message"/>

中英文切换功能,只需要在请求的url后面带上参数request_locale=zh_CN或者request_locale=en_US就会被i18N拦截器拦截然后转换成中文环境。

在Struts2.3.4的文档里面是这样介绍i18n的:
1.Messages and Errors from the ValidationAware interface (implemented by ActionSupport and ValidationAwareSupport)
2.Within action classes that extend ActionSupport through the getText() method


所以要想使用国际化功能必须实现ValidationAware接口或者继承ActionSupport

Resource Bundle Search Order(资源包搜索顺序)

    1.ActionClass.properties
    2.Interface.properties (every interface and sub-interface)
    3.BaseClass.properties (all the way to Object.properties)
    4.ModelDriven's model (if implements ModelDriven), for the model object repeat from 1
    5.package.properties (of the directory where class is located and every parent directory all the way to the root directory)
    6.search up the i18n message key hierarchy itself
    7.global resource properties


其顺序是Action类名的资源文件>>>>接口名的资源文件>>>>package.properties>>>>global.properties

资源文件名的命名包括基本名(如Action类名,message),语言代号(如en、zh),国家代号(如US、CN)组成。
例如基本名为message的简体中文资源文件就是message_zh_CN.properties


这是转码后的资源文件:
lable.titile=用户注册
lable.username=用户名
lable.pwd=密码
lable.age=年龄
lable.email=电子邮箱
lable.regbutton=注册按钮

validator.error.required={0}必须填写。
validator.error.maxlength={0}最多允许{1}个字符。
validator.error.range={0}必须介于{1}至{2}之间。
validator.error.regex={0}格式不正确。


在JSP页面中使用 s:text 标签对文本国际化:
<s:text name="lable.username"/>
<s:text name="lable.pwd"/>
<input type="submit" value='<s:text name="lable.regbutton"/>'/>
OGNL表达式读取国际化消息:
<s:set name="age" value="%{getText('lable.age')}"/>


使用带有占位符的国际化信息时:
//从资源文件中读取username.invalid的值,增加到ActionError中。 
addActionError(getText('validator.error.maxlength', {'密码', '20'})));


<s:text name="validator.error.range">
    <s:param>年龄</s:param>
    <s:param>0</s:param>
    <s:param>100</s:param>
</s:text>
分享到:
评论

相关推荐

    struts2国际化_i18n

    Struts2是一个非常流行的Java Web框架,用于构建可维护、可扩展且结构良好的应用程序。...这个提供的`i18n`压缩包文件可能包含了示例的资源包和相关的配置文件,可以帮助初学者理解并实践Struts2的国际化实现。

    Struts2 国际化 I18N 和Java 国际化

    2. 在Struts2配置文件中启用I18N支持。 3. 使用`ActionContext`或`ValueStack`在Action和视图中获取本地化字符串。 4. 可以通过`MessageProvider`自定义消息提供策略。 5. 使用`Locale`对象进行语言环境切换,以便于...

    (三)Struts2国际化(i18n) :简单语言包的实现

    在Struts2中,国际化(i18n)是处理多语言环境的重要特性,使得同一个应用可以适应不同地区用户的需求。本篇文章将深入探讨如何在Struts2中实现简单语言包的国际化。 首先,我们需要了解什么是i18n。这里的数字"18...

    struts2 国际化 i18n

    Struts2的国际化(i18n)是Web应用开发中必不可少的一个特性,它允许应用程序根据用户的语言和地区提供相应的本地化内容。Struts2框架提供了强大的国际化支持,包括页面、Action和XML配置文件的国际化。 首先,为了...

    struts2-i18n实现国际化例子

    Struts2-i18n是Apache Struts框架中用于实现应用程序国际化的功能模块。这个例子主要是为了帮助初学者理解如何在Struts2框架下进行国际化设置。以下将详细讲解Struts2-i18n的基本概念、实现步骤以及相关知识点。 **...

    struts2中的国际化(i18n)项目实例.(MyEclipse工具)

    这个"struts2中的国际化(i18n)项目实例"是为了帮助初学者理解如何在Struts2中实现在MyEclipse集成开发环境中配置和使用国际化功能。 首先,我们要知道i18n代表的是“国际化”,这里的18个字符代表了英文单词...

    Struts2 I18N国际化最简单例子

    在这个“Struts2 I18N国际化最简单例子”中,我们将探讨如何在Struts2框架下实现国际化功能。 1. **Struts2的I18N支持** Struts2提供了内置的支持来处理多语言环境。它通过资源包(Resource Bundle)来管理不同的...

    Struts2的国际化(i18n)

    Struts2的国际化(i18n)是框架提供的一个关键特性,使得应用程序能够支持多语言环境,从而满足全球用户的需求。Struts2的i18n机制基于Java语言的国际化概念,而Java本身是基于Unicode编码标准的,这确保了支持世界上...

    Struts2中的validation_多国语言版 国际化i18n+struts2数据校验.zip

    本资料包聚焦于Struts2中的数据校验以及国际化(i18n)支持。 首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中...

    国际化 struts2i18n demo

    总之,"struts2i18n"演示了如何在Struts2框架下进行国际化,这对于开发面向全球用户的Web应用至关重要。通过学习和实践这个示例,开发者可以掌握Struts2的国际化机制,提高其Web应用的全球化适应性。

    struts2 i18n国际化实例

    这个"struts2 i18n国际化实例"应该包含了实现上述所有步骤的具体代码示例,对于初学者来说,是一个很好的学习起点,可以帮助理解Struts2如何处理国际化,以及如何在实际项目中应用这些概念。同时,遇到问题可以与...

    struts_I18N国际化

    Struts I18N 国际化是一种技术,它允许应用程序根据用户所在的地理位置或首选语言环境来显示相应的本地化内容。在Struts框架中,I18N(Internationalization)是一个关键特性,使得开发者能够轻松地创建支持多语言的...

    struts2 i18n学习记录

    在Struts2中,i18n(国际化)是实现多语言支持的关键特性,它允许开发者为不同地区和语言的用户提供本地化的界面。这篇学习记录将深入探讨Struts2中的i18n实现。 一、i18n概念 i18n(“国际化”首字母的缩写,18...

    struts_I18N

    - **ActionForm和国际化**:表单验证错误消息也可以通过I18N处理,只需要在ActionForm类中定义资源包并配置即可。 4. **Struts1.x_I18N.jar的使用**: 这个压缩包中的Struts1.x_I18N.jar文件包含了Struts1.x版本...

    struts2_i18n

    在Struts2中,i18n(国际化)是一种重要的功能,它允许开发者创建能够支持多种语言的应用程序,以满足全球用户的需要。在这个主题"struts2_i18n"中,我们将深入探讨Struts2框架中的国际化实现机制。 首先,了解i18n...

    struts2-i18n

    Struts2-i18n是一个专门针对Struts2框架实现的国际化(i18n)解决方案。在Web开发中,国际化是一项重要的功能,它允许应用为不同地区的用户提供本地化的界面和内容。Struts2作为流行的Java Web MVC框架,提供了一套...

    struts2国际化 标签 页面 处理类

    在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们需要声明全局的国际化资源文件。通过设置常量`struts.custom.i18n.resources`的值为`message`,我们...

    struts2框架国际化

    国际化(i18n)是Struts2的一个重要特性,使得应用能够支持多种语言环境,以满足全球用户的语言需求。以下是对Struts2框架国际化实现的详细讲解。 1. **国际化的基本概念** 国际化(Internationalization,简称i18...

    struts2实现国际化

    2. **配置Struts2**:在Struts2的配置文件(struts.xml或struts-default.xml)中,我们需要添加一个Interceptor(拦截器)来处理国际化。`i18n interceptor`是专门用于这个目的的,它可以自动检测用户的浏览器设置并...

    i18国际化struts标签

    在IT领域,国际化(i18n)是一种重要的技术实践,特别是在构建可扩展的Web应用程序时。Struts2作为一款流行的MVC(Model-View-Controller)框架,为开发者提供了便捷的方式来实现国际化。本文将深入探讨如何在Struts2...

Global site tag (gtag.js) - Google Analytics