struts2-多国语言国际化应用过程

转自:http://blog.sina.com.cn/s/blog_6608320c0100j4n1.html

struts2-多国语言国际化应用过程:

1、新建三个.properties,分别为
  A、struts.properties
     内容为:struts.custom.i18n.resources=messageResource

  B、messageResource_en_US.properties

  C、messageResource_zh_CN.properties

  说明:
    1、 B、C两个文件的开头(messageResource)要和struts.properties里面定义的相同
    2、 B、C里面的内容自己填写,但是key要对应


2、jsp里面的写法--部分代码
<body>
<center>
<!-- 用户登录 -->
    <s:form action="login">
        <s:textfield name="username" key="username"/>
        <s:password  name="password" key="password"/>
        <s:submit align="center" key="loginSubmit"/>
    </s:form>

<!-- 切换为英文  -->
    <s:url id="english" action="loginLanguage">
        <s:param name="request_locale">en_US</s:param>
    </s:url>
    <s:a href="%{english}">English</s:a>

<!-- 切换为中文 -->
    <s:url id="chinese" action="loginLanguage">
        <s:param name="request_locale">zh_CN</s:param>
    </s:url>
    <s:a href="%{chinese}">中文</s:a>
</center>
</body>


3、配置struts.xml
<package name="default" extends="struts-default">
    <!-- 语言切换的action 直接通过jsp页面来跳转是没有效果的-->
    <action name="loginLanguage">
        <result>/moreLanguage.jsp</result>
    </action>
</package>


struts2国际化实现过程(解决中文乱码)

struts2 的国际化实现过程--刚开始写的时候按照网上说的那样配置完,结果一测试,乱码。然后自己在网上查了很多关于struts2国际化乱码的文章,写的都不全面,比如native2ascii.exe在哪里都没有说明后面摸索了一下,终于不乱码了。写下这篇文章方便自己和大家以后查看

第一步--有两种方法
    A、在src下面新建一个struts.properties,加入里面的内容为:
           struts.custom.i18n.resources=messagesource
           其中:struts.custom.i18n.resources为固定的,
             messagesource为自己定义的


     B、struts.xml里面添加
    <constant name="struts.custom.i18n.resources" value="messagesource"></constant>

    A、B两种方法都能达到同样的效果(我亲自测试过)

第二步:
    在src下面新建一个messagesource_en_US.properties,其中messagesource为第一步中自定义的名称,
    加入里面的内容为您自己想要的内容,如:
    HelloWorld=Hello World!
    username = user name

第三步:
    在src下面新建一个messagesource_zh_CN.properties,其中messagesource是第一步中自定义的名称,
    加入里面的内容为第二步里面英文翻译后的中文(其他语言也可以,主要是达到一一对应),如
    HelloWorld=您好,世界!
    username = 用户

第四步:
    把messagesource_zh_CN.properties重新复制一份并重命名为messagesource.properties,
    把重命名后的messagesource.properties放到web-inf文件下面

第五步:中文转码
    找到jdk的安装目录--D:\Program Files\Java\jdk1.6.0_10\bin(我的安装目录)
        在bin里面找到native2ascii.exe并运行
        在命令窗口输入
    native2ascii -encoding UTF-8 messagesource.propertis messagesource_zh_CN.propertis

    这个命令的意思是,用utf-8对messagesource.propertis进行转码,转码后保存到messagesource_zh_CN.propertis文件


第六步:在jsp页面显示国际化语言--这里用两种方法得到国际化语言并显示
        <h2><s:text name="HelloWorld"/></h2>
        <h2><s:property value="%{getText('HelloWorld')}"/></h2>

   显示出来的结果是一样的


第七步:发布工程,在页面查看中文是否乱码,并且更改浏览器的语言看能否显示英文(我上面用的是英文和中文)
        如果中文不乱码,英文也能显示,说明您测试成功了!!



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值