在struts2中,前端页面表示国际化的实现更加简单。简单的应用struts2提供的支持国际化的表达式即可快速方便的进行页面的国际化的实现。如何做呢?本文以英文和中文为例进行说明。
1,自定义struts2的属性,
属性项目:struts.custom.i18n.resources
首先生成一个struts.properties文件,
文件位置:WEB-INF/src目录下
文件内容:
struts.custom.i18n.resources=globalMessages
2,根据属性所指定的值生成两个properties文件
文件名:globalMessages_en.properties
文件内容:
firstname=firstname
lastname=lastname
age=age
文件名:globalMessages_zh.properties
文件内容:
firstname=姓
lastname=名
age=年龄
对于,globalMessages_zh.properties,应该将其中的文件内容转化成unicode的形式。
转换方法如下:
%Java_HOME%in ative2ASCII.exe globalMessages_zh.properties > globalMessages_zh.properties
转换完成后的文件内容应该如下:
文件名:globalMessages_zh.properties
文件内容:
firstname=u59d3
lastname=u540d
age=u5e74u9f84
3,然后做成一个测试用的jsp页面。
文件名:login.jsp
文件内容:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<s:form action="login" method="post">
<s:textfield name="firstname" label="%{getText('firstname')}"/>
<s:textfield name="lastname" label="%{getText('lastname')}"/>
<s:textfield name="age" label="%{getText('age')}"/>
<s:submit/>
</s:form>
</html>
请注意:其中的红字的部分,则是进行国际化资源获取的重要代码。
4,struts.xml的配置部分。
自己写一个login的action吧,内容空的就可以,在此主要是测试页面表示的jsp页面内容的国际化表示。
好,一切玩成,我们执行以下,
打开IE,如图,确认一下当前的IE选项中的语言的首选项是中文,页面的表示则为中文。
然后,修改IE选项中的语言的首选项成为英文,再刷新一下页面,则页面的表示变成英文。
怎么样,在struts2中,国际化的实现就是如此的简单。