软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

struts2中页面表示国际化的方法
发布于:第八基地 来源:duote 作者:天堂路上 时间:2016-04-11 点击:296

    在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中,国际化的实现就是如此的简单。

对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈