废话不多说直接进入主题
第一步:(准备工作)
创建一个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
本文介绍如何在Struts2框架中实现国际化功能。通过配置web.xml和struts.xml文件,加入struts2的过滤器,并利用Java的Locale和ResourceBundle类来实现多语言支持。
760

被折叠的 条评论
为什么被折叠?



