当前位置:首页 > 开发 > 编程语言 > Struts2 > 正文

Struts2.0国际化

发表于: 2011-09-20   作者:baalwolf   来源:转载   浏览次数:
摘要: struts2的国际化分三种情况:前台页面的国际化,Action类中的国际化,配置文件的国际化。 首先指定全局的国际化资源文件: 在配置文件struts.xml中引入 <constant name="struts.custom.i18n.resources" value="message"></constant>(注意位置)

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路劲下找到。

Struts2.0国际化

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
本文转自:http://blog.csdn.net/kgd1120/article/details/1667301 Struts作为MVC 2的Web框架,自推
本文转自:http://blog.csdn.net/kgd1120/article/details/1667301 Struts作为MVC 2的Web框架,自推
Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框
有Struts 1.x经验的朋友都知道Action是Struts的核心内容,当然Struts 2.0也不例外。不过,Struts 1.
声明本文出处:http://blog.163.com/quentin_wjb/blog/#pn2 一、上传单个文件 上传文件是很多Web程序
一、搭建环境: 1、新建一个Web工程strust2.0Demo 2、把struts2.0的jar包导入工程 3、编写配置文件w
声明本文出处:http://blog.163.com/quentin_wjb/blog/#pn2 一、上传单个文件 上传文件是很多Web程序
struts2.0的工作原理? 1).客户端发出一个指向servlet容器的请求(tomcat); 2).这个请求会经过图中
前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问
struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 stru
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号