spring + jstl 实现java国际化的配置步骤

  今天在学习java的国际化实现的相关配置,到网上搜索了一下,用spring框架和jstl配合来实现java国际化功能的方法比较常用,就决定就先用这个调试通过了。在百度上一通搜索,得到一些零零碎碎的资料,自己边整合边摸索,最后终于解决,心里当然是十分的开心了,为了给自己留一个解决方法的备份,也让遇到同样问题的人少走一些弯路,现将实现步骤纪录如下:

  1.   搭建好tomcat服务器,并且加入spring的相关lib。实现此步骤的参考文章很多,我的环境是以前搭建好的,就直接那来用了。
  2. 下载jstl需要的包jstl.jar和standard.jar,并且放入WEB-INF/lib目录下。下载地址为http://www.apache.org/dist/jakarta/taglibs/standard/binaries/,我下载的文件为jakarta-taglibs-standard-1.1.2.zip,解压之后在lib目录下可以找到上述两个包,相应拷贝即可。
  3. 修改web.xml,注册国际化需要的tag标签。在web.xml文件中加入如下的标签注册信息<taglib>
          <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
                <taglib-location>/WEB-INF/tld/jstl/fmt.tld</taglib-location>
          </taglib> 顺便提示一下,上述上一段话,我开始忘记加了,结果试了半天都出不来。我们用rar软件打开jstl.jar文件,以此进入目录javax/servlet/jsp/jstl/,可以看到tlv、sql、fmt和core四个文件夹,突然发现上述的

       <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>

       中的fmt与四个文件夹中的一个同名,如果要使用另外三个标签库,也可以相应的配置。这里国际化只用到fmt标签库,所以这里只导入这一个。

     

       在web.xml文件中加入国际化资源文件的配置,如下:

    <context-param>
      <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
      <param-value>message</param-value>
     </context-param>

     注意message为资源文件的名称。在此我的资源文件为message_zh_CN.properties和message_en_US.properties。

  4.   创建资源文件message_zh_CN.properties和message_en_US.properties,这里只做英文和中文的示例,如果还需要支持其他的语言,只需要增加相应的资源文件即可,具体的后缀可以通过ie浏览器看到,如何看?“Internet选项”--“语言...”--“添加”,应该看到了,就是那个语言列表中的后缀。

    中文的资源message_zh_CN.properties的内容为:

    name = /u5f20/u4e09
    sex = /u7537
    country = /u4e2d/u56fd

    看起来很奇怪是吧,我一开始也觉得奇怪,怎么放了这么写乱七八糟的东西,后来一查才知道,中文必须要用ascii码的方式来记录,麻烦。头大了,这不是要写死我,哪记得住?不过庆幸的是,jdk自带了一个转码工具native2ascii,专门将本地文件转换为ascii码来表示。我们在C盘根目录下新建一个message_zh_CN_src.properties文件,存放内容如下:

    name = 张三
    sex = 男
    country = 中国

    然后cmd,打开命令行窗口,敲入:native2ascii -encoding gbk C:/messages_zh_CN_src.properties C:/messages_zh_CN.properties,这样messages_zh_CN.properties文件就存放的是转码后的内容了,还比较简单。

     

     英文资源message_en_US.properties不需要转码,内容就很简单,我这里的内容为:

    name = zhangsan
    sex = male
    country = china

    上述两个文件均放置在WEB-INF/classes目录下。

  5. 编写测试页面message.jsp,内容如下:                                                                                                                   <%@ page language="java" contentType="text/html;charset=GBK"%>
    <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><!--导入注册的标签库-->
    <fmt:message key="name"/><!--name为properties文件中的key值->

  6. 启动tomcat。如果配置一切ok的话,启动成功,然后在地址栏中访问message.jsp页面。可以正常看到“张三”。在工具--Internet选项--语言...---添加...---英语(美国) [en-us],并将该选择项上移到 中文(中国) [zh-cn]的上方,重新刷新页面,可以看到zhangsa,国际化配置成功。

    第一次用csdn的博客自己编辑的发文章,还不大熟练,排版不好,看来还要慢慢适应。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值