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>



上面步骤可以互换,只要记得不要少了配置就行!
项目切图
[img]http://dl.iteye.com/upload/attachment/187429/921c8580-ea40-36d0-8ef3-80f345c3bd4e.png[/img]

如果有需要例子的可以留下邮箱!我给他发过去!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值