新建个messageResouce _zh_CN.properties名字的记事本,内容为
loginPage=登录页面
errorPage=错误页面
succPage=成功页面
failTip=对不起,您不能登录!
succTip=欢迎,${0},您已经登录!
viewLink=查看作者李刚已出版的图书
bookPageTitle=作者李刚已出版的图书
bookName=书名:
user=用户名
pass=密 码
在新建个英文的资源文件messageResource_en_US.properties,内容如上,把值改为英文
user=user name
pass=password
前面的user,pass都叫做key,到时根据key来找值。
接着:
native2ascii messageResouce.properties messageResouce_zh_CN.properties
native2ascii 原文件 新生成的文件
上面命令将包含非西欧字符的资源文件处理成标准的ASCII格式,处理完成后生成了一份新文件:messageResouce _zh_CN.properties文件。这个文件的文件名符合资源文件的命名格式,资源文件的文件名命名格式为:
basename_语言代码_国家代码.properties
把两个资源文件考到src目录下,struts.xml中加入
<constant name="struts.custom.i18n.resources" value="messageResource"></constant>
value的值和资源文件的前部分名一致。
jsp页面写法:
<s:text name="loginPage"/>直接从资源文件中取值name中的字符为key的名
<s:textfield name="username" key="user"/>这是另一种写法
Struts的页面有一个标签<s:i18n>,可以通过它来指定资源文件的位置。这个标签一般可做为其它标签的父标签,这样其它标签所读取的内容就是<s:i18n>标签所指定的资源文件中的内容。用法如下:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>
<s:i18n name="tmp">
<s:text name="loginPage"/> //读取tmp资源文件中的loginPage的内容
</s:i18n>
</title>
</head>
<body>
<s:i18n name="tmp">
<s:form action="Login">
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit key="login"/>
</s:form>
</s:i18n>
</body>
</html>
页面获取后台传的值用
<s:text name="" >
<s:param>${nameError}</s:param>
</s:text>
后台
Locale locale = Locale.getDefault();
ResourceBundle bundle = ResourceBundle.getBundle("messageResource", locale);
nameError = bundle.getString("nameError");
getString("")里的String值是key,nameError是key
通常若查找不到所需要的资源文件中的内容,都是直接输出KEY的字符串值。
选择语言后跳转到后台action,在跳转到一个类,类的写法:
public String getEnglish() {
//设置locale为英语(美国)
Locale locale = Locale.US;
//获取系统默认的国家/语言环境
Locale myLocale = Locale.getDefault();
//根据指定的国家/语言环境加载资源文件
ResourceBundle bundle = ResourceBundle.getBundle("messageResource",locale);
//获取资源文件中的key为hello的value值
System.out.println(bundle.getString("user"));
//设置跳转后页面的locale,就是设置语言
ActionContext.getContext().setLocale(locale);
//设置页面默认的locale,以后可以根据它获得资源文件里的值
Locale.setDefault(locale);
//把locale添加到session里,以后跳转页面时会自动到session里查询WW_TRANS_I18N_LOCALE,看是否有值,若有值就用存的locale。就是页面自动转换成locale的语言。不用每个action类里都设置一遍了。
ActionContext.getContext().getSession().put("WW_TRANS_I18N_LOCALE",locale);
return SUCCESS;
页面跳转时一定要经过action类,在跳转页面,否则页面语言会出问题。
}
分享到:
相关推荐
这一过程涉及到旧村、旧城、旧厂、住宅、商业设施及公共基础设施等多个领域,具有较强的市场化和经营性特征。 【资金平衡】城市更新的资金平衡主要包括外部和内部两种方式。外部资金平衡主要依赖于融资,分为政府...
《浅谈证券业经营国际化实践》 随着全球金融服务业的深度融合,证券业的国际化经营已经成为不可逆转的趋势。各大证券公司纷纷认识到,要在激烈的竞争中立足,不仅需要具备跨区域的服务能力,更需在世界各地设立分支...
浅谈国际自动化大鳄的并购游戏.doc
会计的国家化与会计的国际化是现代会计领域中两个重要的概念,它们反映了在全球化背景下会计实践与标准的演变。会计的国际化是指会计实务和规则逐渐适应国际通用的标准,以促进跨国经济活动的信息透明度和可比性。这...
随着中国旅游业的持续发展和国际市场的开放,酒店行业需要不断更新管理理念,借助信息化手段优化服务流程,提升客户满意度,以应对日益激烈的市场竞争。通过深入研究和实践,酒店管理信息化将为酒店带来更大的经济...
《20210901-中诚信国际-浅谈城投转型与化债的有效途径:城市更新》这份报告聚焦于中国城市投资建设企业(简称“城投公司”)在面临债务压力和政策调整背景下的转型策略以及债务化解方法。报告通过深度剖析城市更新这...
在这一领域,国外的一些企业已经熟练掌握了船舶和海洋工程自动化技术,并在国际海洋工程市场中占据了领先地位。相比之下,我国虽然在船舶与海洋工程自动化方面已经取得了一定的进展,但在技术掌握和产业规模方面仍然...
【我国工业自动化企业发展出路浅谈】 一、我国工业自动化产业的现状与问题 我国工业自动化产业在过去的几十年间取得了显著进步,但与国际先进水平相比,仍存在明显差距。这主要体现在技术创新能力不足,核心技术和...
浅谈中职国际商务专业商务英语听说课程信息化教学.docx
【国际货运代理信息化教学的重要性】 国际货运代理是国际贸易和物流领域的关键环节,涉及广泛的理论知识和实际操作技能。信息化教学在此领域中的应用旨在提升教学质量,适应信息化时代对人才培养的需求。然而,当前...
在我国石油企业国际化经营中,税务风险管理是企业需要面临的重要挑战。随着全球经济一体化的加深,我国石油企业在海外的投资和经营规模逐渐扩大,但由于不同国家之间税制的差异性、国际税收规则的变化等因素,我国...
国际工程仪表自动化采办计划管理是国际工程项目管理中的重要组成部分,它涉及项目所需仪表自动化设备的采购、运输、安装以及维护等多个环节,以确保这些设备能够高效、科学地应用于工程实践中。随着国际工程领域技术...
在“众专家浅谈城市信息化”这个主题中,我们可以深入探讨以下几个关键知识点: 1. **信息化定义与意义**:城市信息化是指通过信息技术的应用,将城市的各项资源、服务和管理进行整合,提升城市运行效率,改善居民...
### 浅谈医院信息系统的标准化 #### 摘要与背景 随着信息技术的快速发展,医院信息系统(Hospital Information System,简称HIS)已经成为现代医疗服务的重要组成部分。HIS不仅可以提高医疗服务效率,还能有效支持...
"浅谈电子商务对国际贸易的影响" 电子商务的发展对国际贸易产生了深远的影响。随着信息通信科技的发展,电子商务改变了世界实体商务体系之面貌。在传统国际贸易中,交易方对产品的订购、销售、配送、支付以及各类...
《浅谈机械制造自动化发展及应用》这篇文章主要探讨了机械制造自动化技术的发展历程、现状及其在实际生产中的应用,同时强调了CAPP技术在集成应用中的关键作用。 机械制造自动化是机械工程领域的重要组成部分,它...
此外,Struts的验证框架、分发Action、Template模式和Proxy模式以及国际化和异常处理都是提升开发效率和应用质量的关键。 接下来是Hibernate,它是一个对象关系映射(ORM)框架。基础使用包括理解ORM的概念,如何...
### 企业信息化评价方法研究及应用浅谈 #### 一、引言 在全球信息化的大潮下,企业领导人越来越重视信息化的推进与应用。信息化已成为企业跨地域、跨行业乃至跨国经营的重要基石。为了提高企业的信息化水平与市场...