Struts2实现自由选择语言环境
来源:互联网 发布:电信是什么网络模式 编辑:程序博客网 时间:2024/06/13 13:11
struts国际化需要
开发工具myeclipse8.0
第一步:新建项目必须要J2EE5.0(不然加不上Struts2)包
第二步:加入Struts2核心包(struts2-core Library)其他的不需要
【struts2核心包2.1.8】
struts2-embeddedjsp-plugin-2.1.8.jar
struts2-convention-plugin-2.1.8.jar
struts2-json-plugin-2.1.8.jar
struts2-core-2.1.8.jar
第三步:更改 WEB-INF/web.xml文件
所有的jsp和Action都交给过滤
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
第四步:修改src目录下的struts.xml文件添加一个Action
/**name值随便写 extends默认是写成"struts-default" 主要作用是继承Action的一些用到的类*/
<package name="struts2_login" extends="struts-default">
/**name值随便写(访问的路径) method对应Action中的方法 class对应的类*/
<action name="checkLogin2" class="com.LoginAction" method="checkLogin2">
/**返回的字符串 和跳转的页面地址*/
<result name="success">/choose.jsp</result></action>
</package>
第五步:添加消息资源文件
【Struts2消息资源文件】
//国际化文件
globalMessages_en_US.properties
huizi.home=Welcome
huizhi.en=American English
huizhi.cn=Simplified Chinese
globalMessages_zh_CN.properties
huizi.home=/u4F60/u597D/u554A
huizhi.en=/u7F8E/u56FD/u82F1/u8BED
huizhi.cn=/u7B80/u4F53/u4E2D/u6587
配置键值对
//默认文件 以下设置是固定的因是Struts的内部变量
struts.properties
//设置18n的前缀,并且此文件为全局消息资源文件
struts.custom.i18n.resources=globalMessages
//设置编码集
struts.i18n.encoding=utf-8
第六步:创建Action 路径为SRC com下面 路径和名字和struts.xml配置信息统一
【继承ActionSupport java类一个也就是Action文件】
@SuppressWarnings("serial")
public class LoginAction extends ActionSupport {
//设置获取语言环境的变量
private Locale current;
public void setCurrent(Locale cur){
this.current=cur;
}
@SuppressWarnings("unchecked")
public Map<String, Locale> getLocales(){
//定义MAP加入本系统支持的语言环境
Map<String, Locale> locales=new Hashtable<String, Locale>(2);
ResourceBundle bundle=ResourceBundle.getBundle("globalMessages",current);
//"huizhi.en"和"huizhi.cn"要对应消息资源文件不然会报标签错误
locales.put(bundle.getString("huizhi.en"),Locale.US);
locales.put(bundle.getString("huizhi.cn"),Locale.CHINA);
return locales;
}
public String checkLogin2(){
return SUCCESS;
}
}
第七步:在根目录下面添加一个jsp文件与struts.xml中设置的统一
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>//编码
<%@ taglib prefix="s" uri="/struts-tags"%> //给页面加入Struts标签库
<script type="text/javascript">//js事件
function changeLocale()
{
document.getElementById("langForm").submit();
}
</script>
//获取struts2默认的资源拦截器
<s:set name="SESSION_LOCALE" value="#session['WW_TRANS_I18N_LOCALE']"></s:set>
//调用javaBean传入本地的语言包
<s:bean id="locales" name="com.LoginAction" >
<s:param name="current" value="#SESSION_LOCALE==null?locale:#SESSION_LOCALE"></s:param>
</s:bean>
//默认当前连接
<form action='<s:url/>' name="langForm">
//struts2标签传入map #locales.locales 调用javaBean中个头方法
<s:select label="language" list="#locales.locales" listKey="value" listValue="key"
value="#SESSION_LOCALE==null?locale:#SESSION_LOCALE" name="request_locale"
onchange="changeLocale()" headerKey="0" headerValue="--select--"/>
</form>
//struts2标签 显示消息资源文件key对应的数据据
<s:text name="huizi.home"></s:text>
//注意:别忘了最后访问的时候访问的是http://localhost:8088/progect/*.Action
突然间事情多了。第一次写不知道从何下手
- Struts2实现自由选择语言环境
- 使用JavaScrpt实现网页字体的自由选择
- 使用JavaScrpt实现网页字体的自由选择
- ubuntu 编译安装php环境(可自由选择php版本)
- Android textview 实现长按自由选择复制功能
- struts2国际化--更改浏览器默认语言环境
- 文本自由选择
- struts2实现用户自行选择语言
- Struts2实现用户自行选择语言
- 使用Struts2实现用户自行选择语言
- struts2实现国际化,多语言切换
- struts2环境
- struts2 ------环境
- MFC 多语言环境的实现
- struts2入门教程一(环境搭建,基本案例实现)
- struts2入门教程一(环境搭建,基本案例实现)
- struts2的环境配置与简单登录功能实现
- 二选一与自由选择
- [VFP实例]VFP的OLE技术应用详解
- 大败在这一个自己写的类上,原来是对一些OOP的基本概念仍不清楚
- ubuntu 第一次修改root 密码
- .netTiers 的探索,数据访问的四种方式。
- sss
- Struts2实现自由选择语言环境
- zoj 1074 || poj 1050 To the Max(简单DP)
- Beginning Linux Programming chapter 13
- BeauGauge Suite V2 更新至 2.2
- 图表控件--MSChart(3)不闪烁刷新
- 思科认证-课程体系
- Linux software RAID
- Google C++ 编码风格精简
- 360惊天后门曝光:“盗梦盒子”重现江湖