`
hdxiong
  • 浏览: 377003 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 的国际化支持

    博客分类:
  • SSH
阅读更多

struts2 的国际化支持

关键字: struts2 国际化 i18n

每种框价都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化

 

首先在struts.properties文件中加入以下内容:
struts.custom.i18n.resources=messageResource
或在struts.xml中加入
<constant name="struts.custom.i18n.resources" value="messageResource"></constant>

 

资源文件的命名格式: 名称_语言代码_国家代码. Properties
如果创建中文和英语国际化,那么资源文件名称为
messageResource_zh_CN.properties和messageResource_en_US.properties

 

1. jsp页面的国际化
通过使用标签<s:text name="label.helloWorld"/>输出国际化
label.helloWorld为资源文件中定义的key

 


  在messageResource_en_US.properties加入以下内容
  label.hello=hello {0}
  label.helloWorld=hello,world

  在messageResource_zh_CN.properties加入以下内容
  label.hello=你好 {0}
  label.helloWorld=你好,世界

 

(1). <s:text name="label.helloWorld"/>
<s:property value="%{getText('label.helloWorld')}"/>
上面两个都为输出一个hello word的两种表示

 

<s:textfield name="name" key="label.helloWorld"/>
<s:textfield name="name" label="%{getText('label.helloWorld')}"/>
显示一个文本框,文本框的标题进行国际化

 

(2). 使用<s:i18n>标签指定从某个特定的资源文件中取数据
<s:i18n name="messageResource">
    <s:text name="label.helloWorld"></s:text>
</s:i18n>
指定在从messageResource取资源

 

(3).
<s:text name="label.hello">
    <s:param>callan</s:param>
</s:text>
使用带参数的资源.<s:param>可以替换label.hello=hello {0}中的{0}

 

2. Action的国际化
Action的国际化主要是通过getText(String key)方法实现的

Java代码 复制代码
  1. public String execute() throws Exception {   
  2.   
  3.            
  4.   
  5.         // getText(String) string为key   
  6.   
  7.         String str1 = getText("label.helloWorld");   
  8.   
  9.         System.out.println(str1);   
  10.   
  11.            
  12.   
  13.         // 带参数的   
  14.   
  15.         String str2 = getText("label.hello",new String[]{"fjf"});   
  16.   
  17.         System.out.println(str2);   
  18.   
  19.        
  20.   
  21.         // 与上一种实现一样   
  22.   
  23.         List l = new ArrayList();   
  24.   
  25.         l.add("callan");   
  26.   
  27.         String str3 = getText("label.hello",l);   
  28.   
  29.         System.out.println(str3);   
  30.   
  31.            
  32.   
  33.         return SUCCESS;   
  34.   
  35.     }  
public String execute() throws Exception {

		

		// getText(String) string为key

		String str1 = getText("label.helloWorld");

		System.out.println(str1);

		

		// 带参数的

		String str2 = getText("label.hello",new String[]{"fjf"});

		System.out.println(str2);

	

		// 与上一种实现一样

		List l = new ArrayList();

		l.add("callan");

		String str3 = getText("label.hello",l);

		System.out.println(str3);

		

		return SUCCESS;

	}

 

 3.  参数化国际化
在messageResource_en_US.properties加入以下内容
userName=userName
userName.required=${getText('userName')} is required

 

在messageResource_zh_CN.properties加入以下内容
userName=用户名
userName.required=${getText('userName')} 不能为空

 

在Action中
String str4 = getText("userName.required");
System.out.println(str4);

 

userName.required=${getText('userName')}会取国际化的用户名

 

4. 使用校验框价时,提示信息可以国际化
   <field name="userName">
  <field-validator type="requiredstring">
   <message key=”userName.required”> </message>
  </field-validator>
 </field>

 


国际化资源文件分为三种级别
(1) 全局资源文件,可以被整个应该程序引用,也就是struts.custom.i18n.resources=messageResource指定的文件
(2) 包级资源文件,每个包的根目录下可以新建资源文件,仅被当前包中的类访问.文件名格式为:package_语言代码_国家代码.
(3) Action级资源文件,仅被当前Action引用,名称为action名_语言代码_国家代码
查找顺序为从小范围到大范围, Action级优先级最大 

分享到:
评论

相关推荐

    Struts2国际化支持引导(初)

    这篇指南将深入探讨Struts2如何实现国际化支持,并提供一个初步的引导。 首先,理解国际化的基本概念是至关重要的。国际化不仅仅是翻译文本,它还涉及到日期、时间、货币等格式的本地化。在Java中,这一过程通常...

    实现struts2国际化支持

    总结来说,实现Struts2的国际化支持涉及到创建和管理资源文件,配置Struts2框架以加载这些文件,以及在Action和视图层正确使用国际化消息。这个过程有助于提高应用的用户体验,让不同地区和语言背景的用户都能舒适地...

    struts2国际化例子源码

    总结,这个Struts2国际化例子源码展示了如何在Java web应用中实现多语言支持,通过配置Struts2框架、编写Action类、创建资源文件以及在JSP页面中使用标签,实现了对不同语言环境的适应。这个例子对于理解和实践...

    struts2国际化 标签 页面 处理类

    Struts2是一个流行的Java web框架,它提供了强大的国际化支持,帮助开发者创建多语言的应用程序。在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们...

    Struts2国际化Demo

    在“Struts2国际化Demo”中,我们主要探讨的是如何利用Struts2框架实现应用的多语言支持,即国际化(i18n)功能。国际化是一种设计方法,使得软件能够根据不同地区的语言和文化习惯进行调整,使得全球用户都能无障碍...

    STRUTS2国际化的问题

    综上所述,Struts2框架提供了丰富的国际化支持,通过对配置文件、后端处理逻辑以及前端展示的合理设置,可以轻松实现多语言应用的开发。开发者需要关注字符编码的处理,以确保不同语言环境下数据的一致性和准确性。

    struts1.2 国际化

    Struts 1.2 框架作为 Java Web 开发的经典框架之一,提供了强大的国际化支持。本文将详细介绍 Struts 1.2 如何实现国际化,以及如何利用该框架创建国际化应用。 #### 二、本地化与国际化基础 ##### 1. 本地化 ...

    struts2国际化源码以及eclipse国际化插件

    对于国际化支持,Eclipse有一个名为PropEdit的插件(jp.gr.java_conf.ussiy.app.propedit_5.3.3.zip),可以帮助开发者更方便地管理和编辑这些.properties资源文件。PropEdit提供了一个图形化的界面,可以同时查看和...

    struts2国际化测试

    接下来,让我们看看如何配置Struts2以支持国际化。在Struts2的配置文件`struts.xml`中,我们需要定义一个全局结果类型`i18n`,这样当用户请求改变语言时,框架知道如何处理。以下是一个示例配置: ```xml ...

    Struts1 和 Struts 2 国际化全局资源

    Struts1 和 Struts 2 是两种非常流行的Java Web开发框架,它们都提供了对国际化(i18n)的支持,使得应用能够根据用户的语言和地区显示相应的本地化内容。国际化是软件设计的一个重要方面,它允许应用程序在全球范围...

    struts2国际化处理全解

    在国际化处理方面,Struts2提供了全面的支持,使得开发者能够轻松地为多语言环境的应用程序创建接口。 首先,我们需要了解什么是国际化(Internationalization)和本地化(Localization)。国际化是指设计和开发...

    struts2标签库及国际化的使用例子

    Struts2 框架提供了强大的国际化功能,用于支持多语言显示。在本实验中,我们将使用 Struts2 的国际化功能来实现用户注册页面的国际化显示。 首先,我们需要创建国际化资源文件,例如 `messages_en_US.properties` ...

    struts2国际化+简单的标签+用户注册和登录

    总的来说,这个项目提供了一个基础的Struts2应用实例,展示了如何实现国际化、使用Struts2标签库,以及创建简单的用户注册和登录功能,尽管它并不涉及实际的数据存储。对于学习和理解Struts2框架的运作机制,这是一...

    struts2 国际化使用

    在`struts.xml`配置文件中,确保已经启用Struts2的国际化支持。你可以通过`&lt;constant&gt;`元素设置`struts.i18n.enabled`为`true`,如下: ```xml &lt;constant name="struts.i18n.enabled" value="true"/&gt; ``` 6. **...

    struts2国际化demo

    总结来说,"Struts2国际化demo"是一个教育性的实例,旨在教授开发者如何利用Struts2框架提供多语言支持。通过创建和配置资源文件,结合拦截器和视图层的标签,我们可以轻松地使应用具备国际化的特性,从而为全球用户...

    struts2框架国际化

    首先,需要在Struts2的配置文件`struts.xml`中启用国际化支持。通过添加`&lt;constant&gt;`标签设置`struts.i18n.enabled`为`true`,并指定资源文件的默认路径。 ```xml &lt;constant name="struts.i18n.enabled" value=...

    Struts2 使用 Struts2 实现国际化

    总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...

    资源国际化 struts2资源国际化

    总的来说,Struts2的资源国际化机制使得开发者可以轻松地为Web应用程序添加多语言支持,提高用户体验,而无需深入修改程序的内部结构。只需维护好各个语言版本的资源文件,系统就能根据用户的语言环境自动显示相应的...

    struts2国际化多语言支持源码(拷过去即可运行)

    在这个"Struts2国际化多语言支持源码"中,我们可以深入理解如何在Struts2应用中实现多语言支持,这对于创建面向全球用户的Web应用至关重要。 国际化(i18n,18代表字母n到i之间的字母数量)是指使软件能够在不同...

Global site tag (gtag.js) - Google Analytics