国际化问题经常会用到,随着框架的应用,国际化一般框架都会集成进来,比如struts2的国际化,jstl的国际化等。先对这两种国际化的实现做一下总结。
一,jstl的国际化。
1.引入jar包。
jstl.jar与standard.jar
2.配置web.xml文件
<!-- 国际化文件的前缀名--> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>bank_i18n</param-value> </context-param> <!-- 国际化文件的后缀名--> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name> <param-value>en</param-value> </context-param>
3.在jsp文件中,生命国际化文件的位置与文件前缀名,国际化文件在工程中的位置是:\src\i18n\bank_i18n_en.properties;\src\i18n\bank_i18n_zh_CN.properties(暂时设定为这两个)
<fmt:setBundle basename="i18n/bank_i18n"/>
4.jsp国际化实现
<fmt:message key="test.title" />
如:test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <fmt:setBundle basename="i18n/bank_i18n"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><fmt:message key="test.title" /></title> </head> <body> <p><fmt:message key="test.text" /></p> </body> </html>
完毕。
二、struts2国际化
1.配置struts.xml文件:指定国际化,以及国际文件的前缀名和路径:
国际化文件路径为:src\i18n\hengbaoResources.properties;src\i18n\hengbaoResources.zh_CN;src\i18n\hengbaoResources.en_US
<constant name="struts.custom.i18n.resources" value="i18n/hengbaoResources" />
注意:此国际文件的后缀名必须规范,不像jstl中可以在web.xml中指定,可以自己定义后缀名。strtus2的国际化是调用api完成的,后缀名必须为"语言_国家"的书写格式。详细规范请参考http://struts.apache.org/2.x/docs/guides.html。web页面显示的语言与客户端系统语言一致。修改系统语言方法:略。
2.jsp文件中的实现
<s:text name="test.title" />
当然sttuts2标签的引入:
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
也是必须的。
完毕。
以上为国际化的两种常见实现方式。