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

Struts实现多国语言切换

阅读更多

1 准备资源文件。资源文件命名格式:filename_language_country.properties.

中文文件名为index_zh_CN.properties

日文文件名为 index_ja_JP.properties

英文文件名为 index_en.properties

英文文件内容:

index.jsp.welcome=Colimas Library Management System

index.jsp.name=Name

index.jsp.userid=User ID

index.jsp.pass=Password

中文文件内容:

index.jsp.welcome=\u4f60\u597d

index.jsp.name=\u59d3\u540d

index.jsp.userid=\u7528\u6237\u540d

index.jsp.pass=\u5bc6\u7801

日文文件内容:

index.jsp.welcome=\u3044\u3089\u3063\u3057\u3083\u3044\u307e\u305b

index.jsp.name=\u59d3\u540d

index.jsp.userid=\u30e6\u30fc\u30b6\u30fcID

index.jsp.pass=\u30d1\u30b9\u30ef\u30fc\u30c9

\uxxxx是中文被转换后的ASCII码。可以使用native2ascii.exe工具转换。

2 struts-config.xml里配置资源文件

<message-resources parameter="resources.config.index" />

resources.config.indexclasses目录下的resources/config子目录的index__xx_xx.properties文件.

struts根据你的浏览器的语言设置调用不同语言的资源文件。

例如:如果你的IE默认语言为中文则。Struts将使用index_zh_CN.properties。而在struts-config.xml里只需写出“index”即可

ActionMapping

<form-beans>

<!--1 Multi-Lanuage support formbean-->

<form-bean

name="SelectLanguageForm"

type="com.nova.colimas.web.form.SelectLanguageForm"/>

</form-beans>

<!-- =========================================== Global Forward Definitions -->

<global-forwards>

<!-- Default forward to "Welcome" action -->

<!-- Demonstrates using index.jsp to forward -->

<forward

name="index"

path="/pages/index.jsp"/>

</global-forwards>

<!-- =========================================== Action Mapping Definitions -->

<action-mappings>

<!-- 1 select language action -->

<action path="/SelectLanguageAction"

type="com.nova.colimas.web.action.SelectLanguageAction"

name="SelectLanguageForm"

scope="request">

</action>

</action-mappings>

3 jsp

<%@ page contentType="text/html; charset=UTF-8"%>

<%@ taglib uri="/tags/struts-bean" prefix="bean"%>

<%@ taglib uri="/tags/struts-html" prefix="html"%>

<%@ taglib uri="/tags/struts-logic" prefix="logic"%>

<html:html>

<Title><bean:message key="index.jsp.welcome"/></Title>

<body>

<logic:present name="user">

<H3>Welcome <bean:write name="LoginForm" property="userID" />!</H3>

</logic:present>

<logic:notPresent scope="session" name="user">

<H3>Welcome Colimas!</H3>

</logic:notPresent>

<html:errors />

<html:form action="/SelectLanguageAction.do">

<html:select property="language">

<html:option value="0">中文</html:option>

<html:option value="1">日本語</html:option>

<html:option value="2">English</html:option>

</html:select>

<html:submit>Select</html:submit>

</html:form>

<html:form action="/LoginAction.do">

<p><bean:message key="index.jsp.userid"/><input type="text" name="userID" value="tyrone1979" /><br>

<bean:message key="index.jsp.pass"/><input type="password" name="password" value="197913"/><br>

<html:submit><bean:message key="index.jsp.login"/></html:submit>

</p>

</html:form>

</body>

</html:html>

<bean:message key="index.jsp.welcome"/>引用资源文件的index.jsp.welcome属性

SelectLanguageAction.do调用Action实现语言转换。

4 Action

package com.nova.colimas.web.action;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionMessages;

//import org.apache.struts.upload.FormFile;

import com.nova.colimas.web.form.SelectLanguageForm;

import org.apache.struts.Globals;

import java.util.Locale;

public class SelectLanguageAction extends Action {

public ActionForward execute(ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception{

SelectLanguageForm myform=(SelectLanguageForm)form;

String lan=myform.getLanguage();

switch((new Integer(lan)).intValue()){

case 0 :

request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.CHINA);

break;

case 1:

request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.JAPAN);

break;

case 2:

request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.ENGLISH);

break;

default:

request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.ENGLISH);

break;

}

return mapping.findForward("index");

}

}

Form

/*

* Created on 2005/06/18

*

* TODO To change the template for this generated file go to

* Window - Preferences - Java - Code Style - Code Templates

*/

package com.nova.colimas.web.form;

import org.apache.struts.action.ActionForm;

/**

* @author tyrone

**/

public class SelectLanguageForm extends ActionForm {

private String language;

public void Reset() {

MsoNorm

分享到:
评论

相关推荐

    struts1多国语言的实现

    下面将详细介绍如何在Struts1中实现多国语言功能。 1. **理解基本概念** - **国际化(i18n)**:是指使软件能够在不同的国家和地区使用,主要涉及日期、时间、数字格式、货币单位以及文本翻译等。 - **本地化...

    Struts 之旅 - 多国语言

    在"Struts 之旅 - 多国语言"这个主题中,我们将深入探讨Struts框架如何支持多语言国际化(i18n)功能,这对于构建全球化应用程序至关重要。 1. **国际化(i18n)基础**: 国际化是指设计和实现软件,使其能够适应...

    struts 单页面实现语言切换代码

    首先,实现语言切换的基本步骤包括: 1. **资源文件配置**:在Struts项目中,通常会创建一个或多个.properties文件来存储不同语言的文本资源。例如,我们可以创建`message_en.properties`(英文)和`message_zh_...

    用Struts1实现的国际化语言切换

    下面我们将深入探讨如何使用Struts1实现国际化语言切换。 首先,理解国际化的基本概念是必要的。国际化是一种设计方法,允许软件应用根据不同地区的文化、语言和习惯进行定制。在Web应用中,这通常通过资源包...

    jsp项目开发实录 Struts 实现 程序完整Struts 实现 程序完整

    jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...

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

    首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中定义校验规则或使用XML配置文件。当用户提交表单时,框架会自动...

    Struts2 国际化 多语言切换

    下面我们将深入探讨如何在Struts2中实现国际化和多语言切换。 **一、国际化(i18n)基础** 国际化是指软件设计时考虑到不同地区的文化差异,使得软件可以通过简单的配置和扩展就能适应各种语言环境。在Java中,我们...

    struts2国际化语言切换

    以下是实现Struts2国际化语言切换的详细步骤: 1. **创建资源包**: 首先,你需要为每种支持的语言创建一个资源包。资源包通常是以.properties为后缀的文本文件,例如`message_zh_CN.properties`(中文)和`...

    java 实现国际化 中英文语言切换

    Java 实现国际化是一种重要的...通过以上步骤和方法,我们可以有效地在Java和JSP应用程序中实现中英文语言的切换,为全球用户提供更友好的用户体验。在实际开发中,还需要结合项目需求和团队规范,灵活应用这些技术。

    struts 2 国际化 自动语言切换

    Struts2提供了强大的国际化支持,使得开发者能够轻松地实现应用的语言切换功能。下面将详细解释如何在Struts2中进行国际化设置,并实现自动语言切换。 首先,我们需要理解国际化的基本概念。国际化是一种设计方法,...

    struts2实现自主选择页面语言

    在“struts2实现自主选择页面语言”这个项目中,我们主要探讨的是如何利用Struts2的国际化(i18n)功能来支持多语言环境,使用户可以根据自己的偏好选择页面显示的语言。 首先,让我们了解一下什么是国际化(i18n)。...

    struts2实现的中英文切换

    Struts2是一个强大的...通过以上步骤,你将能够在Struts2应用中实现中英文的切换功能,同时也为支持更多语言打下了基础。国际化是使应用具有更广泛吸引力的关键,因此理解并掌握这一过程对于开发全球化应用至关重要。

    Struts2国际化——自动切换语言

    以下将详细阐述实现Struts2国际化自动切换语言的过程。 1. **资源配置文件**: - `globalMessage.properties`:这是默认的资源配置文件,存放通用的国际化信息。 - `globalMessage_zh_CN.properties`:中文资源...

    jsp+mysql+struts实现的一个财务管理系统

    【标题】"jsp+mysql+struts实现的一个财务管理系统"涉及了三个主要技术:Struts、MySQL和JSP,这些都是Web开发中常见的组件。本文将详细介绍这三个技术在财务管理系统中的应用及其相互配合。 **1. Struts框架** ...

    hibernate+struts实现jsp增删改查分页

    hibernate+struts实现jsp增删改查分页! hibernate实现对数据库的操作,struts实现对表单的操作! 实现了分页功能! (注:本本项目中文会出现乱码,我还没有解决!附有数据库文件!)

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

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

    struts技术实现网上银行

    9. **国际化与本地化**:网上银行服务可能需要支持多种语言,Struts支持国际化和本地化,允许开发者轻松地为不同地区提供多语言版本的应用。 10. **安全性**:由于涉及财务信息,网上银行系统必须具备高度的安全性...

    struts实现的新闻管理系统

    7. **国际化(Internationalization, i18n)**:Struts支持多语言环境,通过资源文件(properties)可以实现界面文本的国际化。在新闻系统中,我们可以为不同的语言提供相应的翻译,提升用户体验。 8. **异常处理**...

    Struts实现简单的BBS

    在本项目“Struts实现简单的BBS”中,我们将深入探讨如何利用Struts框架来创建一个基本的论坛系统。 首先,让我们了解Struts框架的核心概念: 1. **Action类**:在Struts中,Action类是业务逻辑的主要载体。它接收...

Global site tag (gtag.js) - Google Analytics