java语言实现国际化

本文介绍如何在Struts2框架中实现国际化功能。通过配置web.xml和struts.xml文件,加入struts2的过滤器,并利用Java的Locale和ResourceBundle类来实现多语言支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话不多说直接进入主题

第一步:(准备工作)

创建一个web工程,加入struts的jar包,修改了web.xml文件中加入如下内容

 <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>/*</url-pattern>
  </filter-mapping>

然后加入struts.xml文件,内容如下:



<struts>
    <constant name="struts.devMode" value="true" />
    <package name="i18n" namespace="/" extends="struts-default">
     </package>

</struts>   
其中第一句是struts2的开发模式,设置之后修改此文件不用从新启动tomcat了,第二句就是开发国际化用的常量了

然后再src目录下添加语言的资源文件,如果添加我在jsp国际化中说过了,不知道的可以去看看

Locale负责选择语言

ResourceBundle负责选择国际化信息来源,并返回信息

在JDK API中这两个类位于java.util包下我们可以去看看,我们要学会查看jdk api,可以帮助我们自学

首先我们创建一个jsp文件,在其中加入java代码如下:

<%
        //返回locale 已包含语言环境Locale数组

        java.util.Locale[] locales = java.util.Locale.getAvailableLocales();

        //遍历该数组

        for(java.util.Locale l :locales){
            //打印该语言环境下的国家
            out.print(l.getDisplayCountry()+" " +l.getCountry()+"  <br>   ");
            //打印该语言环境的语言名和语言代码
            out.print(l.getDisplayLanguage()+"  "+l.getLanguage()+"  <br>   ");
        }
     

        out.print("<br> <hr> <br> ");

         //这里用java语言实现国际化

        //1.引用那种语言-----指定语言
        //java.util.Locale locale = java.util.Locale.SIMPLIFIED_CHINESE;//选择中文,如果设置的语言,资源文件中没有,则使用默认的资源文件
        //2引用哪组多语言文件------选择资源文件信息来源
        ResourceBundle bundle = java.util.ResourceBundle.getBundle("message",locale);//前面是资源文件的前缀名,后面是语言local对象
        //3.引用哪条信息(getString中放的是资源文件中的key)--返回key为welcome的资源信息
        out.print(bundle.getString("welcome"));
    %>

完成了,同样启动tamcat服务留言网页就能看到我们输出的各种信息了

支持原创,希望大家多多关注http://blog.youkuaiyun.com/caizhige123/article/details/17464137

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的宅男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值