`

Struts2(14):Struts2的国际化

阅读更多

先看看JAVA的国际化实现:JAVA国际化是使用java.util.Locale类。

举例

1,先在SRC目录下新建两个资源文件,hellofile_en_US.properties和hellofile_zh_CN.properties

资源文件的命名格式:其中en和zh是语言名,US和CN是国家名。

hellofile_en_US.properties

hello = hello world:{0}

hellofile_zh_CN.properties

hello = \u4f60\u597d:{0}

 

测试类

package com.i18n;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;

public class Test2 {
	public static void main(String[] args) {
//		Locale locale = Locale.getDefault();
		Locale locale = Locale.US;
		ResourceBundle bundle = ResourceBundle.getBundle("hellofile",locale);
		String value = bundle.getString("hello");
		String result = MessageFormat.format(value, new Object[]{"北京"});
		System.out.println(result);
	}
}

Locale.getDefault();取出的当前JVM默认的国家,如果是中国,上例将会打印出“你好:北京”


再来看看JSP页面的国际化,使用之前开发的register2.jsp,加了一个标题addUser,如果是英文:显示 Add User Information,中文 则显示:请新增用户信息

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
  <body>
  	<table>
  		<center>
  			<s:text name="addUser"></s:text>
  		</center>
  		<s:fielderror/>
  		<s:form action ="register2">
	  		<s:textfield name="username" label="username"></s:textfield>
	  		<s:password name="password" label="password"></s:password>
	  		<s:password name="repassword" label="repassword"></s:password>
	  		<s:textfield name="age" label="age"></s:textfield>
	  		<s:textfield name="birthday" label="birthday"></s:textfield>
	  		<s:textfield name="graduation" label="graduation"></s:textfield>
	  		<s:submit value="submit"></s:submit>
  		</s:form>
  	</table>
  </body>
</html>

 

在struts.xml文件中定义资源文件名

<constant name="struts.custom.i18n.resources" value="message">

message_zh_CN.properties

addUser = \u65b0\u589e\u7528\u6237\u4fe1\u606f

 message_en_US.properties

addUser = Add User Information

 这样就实现了简单的JSP页面的国际化   

关于修改浏览器的默认语言:工具->Internet选项->常规->语言:可以添加语言,排第一的就是默认语言

注:如要实现表单的国际化:需将theme="simple"去掉。在表单标签中加上key="xxx",如下

<s:textfield name="age" key="username.invalid"></s:textfield>

 

分享到:
评论

相关推荐

    精通Struts 2:Web 2.0开发实战

    《精通Struts 2:Web 2.0开发实战》这本书是Java Web开发领域的一本经典教程,专注于Struts 2框架的应用与实践。Struts 2作为一款强大的MVC(Model-View-Controller)框架,是Java EE平台上的重要组成部分,它极大地...

    struts2国际化例子源码

    在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...

    Struts2实例 国际化 类型转换 struts标签

    这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...

    国际化与struts2

    文件`struts2_properties_20150922_guojihua2`很可能包含了Struts2的国际化配置示例,可能是针对2015年9月22日的一个更新或修正。文件名中的“guojihua2”可能是对这个版本的特定描述,可能指的是第二次国际化的改进...

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

    Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了一个强大的标签库,用于简化 JSP ...

    struts2国际化 标签 页面 处理类

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

    struts2国际化处理全解

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

    Struts2 使用 Struts2 实现国际化

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

    STRUTS2国际化的问题

    ### STRUTS2国际化的问题 #### 一、Struts2国际化的概述 Struts2作为一个流行的Web应用框架,为了满足全球用户的使用需求,提供了一系列国际化(Internationalization, 简称I18N)的支持。这包括了如何在配置文件...

    struts2国际化MyEclipse开发

    struts2国际化MyEclipse开发struts2国际化MyEclipse开发童叟无欺

    struts2实现国际化

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

    Struts1 和 Struts 2 国际化全局资源

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

    struts八步教程:struts让我试着了解你

    6. **国际化与异常处理**:了解如何在Struts2中实现国际化,即多语言支持,以及如何配置全局异常处理。 7. **表单验证**:Struts2提供了强大的表单验证功能,可以在Action类中进行验证,也可以通过XML或者注解方式...

    Struts2国际化支持引导(初)

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

    struts2的struts.properties配置文件详解

    14. struts.locale:这是Struts应用程序的默认国际化地区信息。 15. struts.mapper.class:这是一个ActionMapper实现类,Struts2用于处理请求映射。 16. struts.multipart.maxSize:这是multipart请求信息的最大...

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

    在Struts2中实现国际化(i18n)是一项重要功能,它允许应用程序支持多种语言,以满足全球用户的需求。国际化不仅仅是翻译文本,而是设计应用程序以适应不同地区的文化习惯和语言需求。 首先,让我们来探讨一下...

    struts2拦截器国际化

    在Struts2中,拦截器(Interceptor)是实现业务逻辑控制和增强功能的重要机制,而国际化(Internationalization,简称i18n)则能帮助我们构建支持多语言的Web应用。下面将详细解释这两个知识点以及它们如何在Struts2...

    struts2国际化测试

    在“struts2国际化测试”这个主题中,我们将探讨如何在Struts2框架下实现应用程序的国际化功能。 首先,国际化(i18n,i代表第9个字母n,18是n到i的字母数,表示国际化)是使软件能够适应不同语言和文化背景的重要...

    Struts1和Struts2区别

    7. 国际化和本地化: - **Struts1**:需要手动配置资源文件,处理相对复杂。 - **Struts2**:提供了一套更直观的I18N机制,通过Action上下文可以直接访问资源文件。 8. 框架集成: - **Struts1**:对其他框架如...

    在struts2里实现国际化,完成登录页面的国际化(英文和中文)

    在Struts2中实现国际化,主要涉及以下几个关键步骤: 1. **创建资源文件**: 国际化的核心是资源文件,通常使用`.properties`格式,例如`login_en.properties`(英文)和`login_zh_CN.properties`(简体中文)。...

Global site tag (gtag.js) - Google Analytics