您的位置:首页 > 编程语言 > Java开发

Struts2.0学习笔记---设置国际化全局配置文件和包范围配置文件和Action范围配置

2016-09-17 11:04 525 查看
所谓国际化,就是指的是不同的浏览器,不同的显示,比如说我们的浏览器显示:嗨,朋友,而外国人的浏览器显示:hello。

这个在项目中不常用到,但是学习下,以防不备之需。

第一点. 



第二点.

在struts.xml中如下配置

 <constant name="struts.custom.i18n.resources"  value="internet"/>其中value就是指你的配置文件的baseName,将其设置为全局化的,可供其他文件使用。

第三点.



测试的话,可以通过改变浏览器的文字,来改变输出内容。

若是想要携带参数,则在值那里写 {0}  {1}  {2}。。。 表示第一,二,三。。。个参数,

比如在配置文件中写  {0}  welcome {1}     。携带参数后,参数会替代{0}  和{1}

可以这样携带参数

  <s:text name="welcome">

          <s:param>d</s:param>

  </s:text>

 

还可以在Action类中execute方法中写

ActionContext.getContext().put("message" ,this.getText("welcome" , new String[]{"c1","c2"}));

注意,这里只是获取,也就是说,依然要在jsp中配置参数<s:text  .......>

然后就会携带两个参数c1,c2过去了,同时,链接应该也换为  .......action

若是包范围配置文件,把配置文件名改为 package_语言_国家.propertis  如 package_zh_CN.properties ,其他不变。

它会表示同一包中,或此包的子包中的配置信息,且优先级高于全局配置文件。

若是Action范围,则应该把配置文件名改为   Action名_语言_国家    它的优先级又高于包范围配置文件。

若是直接想给某个配置文件进行配置初始化参数,而不使用其他的配置文件。

只需要使用<s:i18n>标签

  <s:i18n  name="internet">

       <s:text name="welcome">

           <s:param>d</s:param>

       </s:text>

  </s:i18n>

name属性即为你打算调用配置文件的    包名+基本名   ,由于我这里调用的配置文件直接在src下,故直接写基本名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息