温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

struts2国际化怎么实现

发布时间:2022-03-31 15:21:11 来源:亿速云 阅读:105 作者:iii 栏目:编程语言

这篇文章主要讲解了“struts2国际化怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“struts2国际化怎么实现”吧!

1.java中使用国际化。

国际化即internationalization简称i18n.

java中是通过配置文件名为baseName-language-country.properties内容为key-value形式的属性文件来实现国际化的。

可以通过Local类来查看java支持那些国家与语言的国际化。

Local[] ls=Local.getAvailableLocales(); for(Local local:ls){    System.out.println(local.getDisplayCountry()+" "+local.getCountry());    System.out.println(local.getDisplayLanguage()+" "+local.getLanguage());    System.out.println("----------"); }

根据资源文件获取内容。

//获得本地属性 Local l=Local.getDefault(); //根据本地国家语言来获得classes路径下baseName为message的资源文件 ResourceBundle rb=ResourceBundle.getBundle("message",l); //获得key的值 String text=rb.getString("username"); //可以传入参数,如果资源文件这样定义的话:username={0}用户名 String textp=MessageFormat.format(rb.getString("username"),"普通");
2.struts2国际化用法

先要配置baseName来指定资源文件,可在struts.xml文件中配置。

<constant name="struts.custom.i18n.resources" value="message"></constant>

然后在classes路劲下添加资源文件。

资源文件内容写法。

a.不带参数:key=value

b.带索引参数:key={0}value{1}

c.带表达式参数:key=${username}value  表示从ValueStack中直接获得username变了值,此种方式不需要像(b)那样手动传递参数

访问国际化消息。

jsp页面:或value1

action中:getText()方法

3.struts2资源文件的管理

有4类资源文件:

a.全局范围,在classes路径下。

baseName-language-country.properties.如message_zh_CN.properties

b.包范围,在包根路径下。

package-language-country.properties.如package_zh_CN.properties

c.类范围,在该类同一路径下。

actionName-language-country.properties.如LoginAction_zh_CN.properties

d.临时资源文件,在jsp页面使用标记来指定classes路径下的资源文件。

<s:i18n name="message">     <s:form.... </s:i18n>

感谢各位的阅读,以上就是“struts2国际化怎么实现”的内容了,经过本文的学习后,相信大家对struts2国际化怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI