`

struts2的国际化!配置心得

阅读更多
有一段时间没有看strust2的国际化了,今天突然想起来做了以下!发现都快忘记了,以便再次忘记就在这里做一个日记同时也给大家分享一下!
首先建一个strut2的项目这就不多说!
1.在struts.properties中加入如下代码
#国际化文件
struts.custom.i18n.resources=messageResources(这个是资源文件的前缀,如果要是有文件目录就这样写xxxx.xxx...messageResources)


或者在struts.xml里面加上
<constant name="struts.custom.i18n.resources" value="messageResources"></constant>


2.建一个languageAction
package com.hopsun.strust2.action;

import java.util.Locale;

import com.opensymphony.xwork2.ActionContext;

public class InternationalAction {

	private String languageName;
	//这个是测试直接用request_locale=zh_CN/*
	public String ChangeLanguage() {

		return "success";
	}
	//这个是测试 用我们自定义一个页面参数,更换语言类型
	public String ChangeLanguage2() {

		Locale l = Locale.getDefault();
		if(this.languageName==null){
			l = new Locale("zh", "CN");
		}else if (this.languageName.equals("ft")) {
			l = new Locale("zh", "TW");
		} else if (this.languageName.equals("en")) {
			l = new Locale("en", "US");
		} 
		
		// ActionContext.getContext().getSession().put("WW_TRANS_I18N_LOCALE",
		// l);
		ActionContext.getContext().setLocale(l);
		return "success";
	}

	public String getLanguageName() {
		return languageName;
	}

	public void setLanguageName(String languageName) {
		this.languageName = languageName;
	}

}



3.把action交给spring来管理
 <bean name="Inter" class="com.hopsun.strust2.action.InternationalAction" scope="prototype" />



4.struts.xml配置

<action name="Change" class="Inter" method="ChangeLanguage">
<result>/Internationalization.jsp</result>
</action>
<action name="Chan" class="Inter" method="ChangeLanguage2">
<result>/Internationalization.jsp</result>
</action>



5.资源文件
放在classes下面,即项目/src/

messageResources_zh_CN.properties
#messageResources_zh_CN.properties
language=语言
name=姓名
age=年龄
sex=性别


messageResources_en_US.properties

#messageResources_en_US.properties
language=language(re)
name=name(re)
age=age(re)
sex=sex(re)


messageResources_zh_TW.properties

#messageResources_zh_TW.properties
language=語言
name=姓名
age=年齡不是問題
sex=性別



6.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"  %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'Internationalization.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body>
<!-- 测试第一种 对应action 方法ChangeLanguage()   request_locale-->
    <a href="<%=basePath%>Change.do?request_locale=zh_CN">中文简体</a>
  <a href="<%=basePath%>Change.do?request_locale=zh_TW">中文繁体</a>
  <a href="<%=basePath%>Change.do?request_locale=en_US">English</a><br>

<!-- 测试测试自定义参数   对应action 方法ChangeLanguage2() languageName-->
 <a href="<%=basePath%>Change.do">中文简体</a>
  <a href="<%=basePath%>Change.do?languageName=ft">中文繁体</a>
  <a href="<%=basePath%>Change.do?languageName=en">English</a><br>

  <s:label key="language"/><input name="language">
    <s:label key="name"/><input name="name">
    <s:label key="age"/><input name="age">
    <s:label key="sex"/><input name="sex">
  </body>
</html>



上面步骤可以互换,只要记得不要少了配置就行!
项目切图


如果有需要例子的可以留下邮箱!我给他发过去!
  • 大小: 15.8 KB
分享到:
评论
4 楼 kfw5313 2010-07-02  
我需要 邮箱是kfw5313@yahoo.com.cn,谢谢!
3 楼 wen.owen 2010-03-01  
很好,正是我所需要的,谢谢楼主
2 楼 fangda 2010-01-07  
我正在学习struts2 请发个例子给我 谢谢 281909543@qq.com
1 楼 jayje 2010-01-05  
谢谢 我学习下发个例子。。liujie_1988@foxmail.com

相关推荐

    Struts2学习心得

    根据提供的文件信息,本文将围绕“Struts2学习心得”这一主题进行展开,重点解析Struits2框架中的国际化(i18n)功能及其在实际项目中的应用方式,并结合具体的代码示例进行深入探讨。 ### Struts2简介 Struts2是...

    Struts2学习笔记与心得

    - Struts2通过其强大的插件体系结构支持各种扩展插件,这些插件可以为开发人员提供额外的功能,如数据验证、国际化、文件上传等功能,极大地简化了开发过程。 ##### 1.5 远程调用支持 - Struts2支持多种远程调用...

    struts2校验框架使用心得.txt

    ### Struts2校验框架使用心得 #### 一、Struts2校验框架概述 Struts2是一款基于Java的企业级Web...此外,Struts2还支持动态验证和国际化等多种高级特性,这些都使得Struts2成为构建企业级Java Web应用的理想选择。

    struts入门教程(比较详细,经验心得)

    它们通常与HTML表单相对应,ActionForm接口扩展了Bean,增加了验证和国际化支持。 **四、Struts标签库** Struts提供了丰富的标签库,如Logic、HTML、Bean等,方便在JSP页面中进行控制流、表单元素和数据展示。 **...

    struts+hibernate实现在线音乐系统源码

    此外,Struts还提供国际化、数据校验等功能,使得系统更易于维护和扩展。 **Hibernate框架** Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者用面向对象的方式来操作数据库。在这个在线音乐系统中,...

    struts 培训班源码及笔记

    此外,源码可能还包括了异常处理、国际化、文件上传下载等功能的实现,这些都是Struts框架中常见的应用场景。 接下来是`note`目录中的笔记。笔记通常会包含培训班的讲义、关键概念解释、学员心得等。从笔记中,你...

    小项目第六部分

    通过研究这个小项目,开发者不仅可以学习到SSH框架的实际运用,还能提升对Web应用程序开发的整体理解,包括异常处理、国际化、权限控制等方面的知识。同时,通过阅读笔记和配置文件,可以深入学习到作者在解决实际...

    ssh三大框架学习心得

    Struts框架提供了一套完善的拦截器机制,可以方便地扩展和定制业务流程,同时它还支持国际化和异常处理。 Spring则是一个全面的后端应用框架,涵盖了依赖注入(DI)、面向切面编程(AOP)、事务管理等核心功能。...

    企业级ssh架构教程

    - 用于国际化文本显示。 - 参数:`key`(指定资源文件中的键)。 - 示例:`&lt;s:text key="welcome.message" /&gt;`。 - **Property Tag** - 用于显示对象的属性值。 - 参数:`value`(指定对象路径)。 - 示例:`...

    spring mvc深入总结

    然而,Struts2 也有其独特的优点,例如丰富的插件、强大的拦截器机制等,适合不同的项目需求。 总的来说,Spring MVC 的设计简洁明了,易于理解和使用,尤其适合需要高度定制和扩展的项目。通过深入理解其核心组件...

    使用三大框架ssh+mysql基础web案例

    Struts框架提供了一系列的标签库,简化了视图层的开发,同时也提供了强大的国际化和异常处理机制。 2. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,...

    一个运动社区类论坛系统

    了解以上信息后,对于初学者,可以深入研究Struts的拦截器、Action支持类、国际化处理、异常处理等方面;而对于Hibernate,可以学习实体类的设计、数据库连接池的使用、事务管理等。同时,理解如何结合这两者构建一...

    JavaEE框架总结

    - **国际化支持**:方便地支持多语言应用。 #### Spring框架 - **核心功能**: - **AOP(面向切面编程)**:将横切关注点(如日志记录、安全检查等)从业务逻辑中分离出来,提高代码的复用性和可维护性。 - **...

    HELP文档

    这个手册会包含Struts 2的架构、配置、动作、拦截器、结果类型、国际化和异常处理等方面的详细信息。 2. **css2.0中文手册.chm**:CSS(层叠样式表)2.0是定义网页外观和布局的标准,包括选择器、盒模型、布局、...

    Java+structs快速学习指南

    - 内容:展示如何使用Struts来动态显示内容,介绍Tiles组件的使用方法,验证用户输入的方法,国际化支持,以及Struts如何与数据服务进行交互。 - 示例:通过具体的例子来演示如何构建用户友好的页面。 4. **...

    Spring框架基础总结

    2. **Spring上下文**:为Spring框架提供上下文信息,是基于核心容器的抽象,提供了更强大的功能,如国际化支持、事件传播、资源加载和验证机制等。 3. **Spring AOP**:将面向切面的编程功能集成到Spring框架中,为...

    Spring从入门到精通 pdf

    - **ApplicationContext**:扩展了BeanFactory的功能,提供了更丰富的API,支持国际化消息、资源访问等特性。 - **Bean的配置**: - **标识**:Bean的唯一标识符(id或name)。 - **类**:Bean对应的Java类。 -...

Global site tag (gtag.js) - Google Analytics