idea中实现struts2框架下国际化

来源:互联网 发布:想兼职淘宝客服 编辑:程序博客网 时间:2024/06/07 02:45

一、输出国际化信息
1.需要更改idea设置
File–>settings–>Editer–>File Encodings
在界面的右下角勾选Transparent native-to-ascii conversion,使中文转成unicode编码
2.在src下创建至少两个:基本名_ 语言 _国家.properties全局资源文件,基本名同会保存在一个目录下!这里写图片描述
3.在struts.xml中进行配置(配置为全局资源文件)

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

若定义在包范围的资源文件,文件名为:package_ 语言 _国家.properties,package为固定写法,资源文件所在包及其子包下的action均可用;
若定义在某个action范围的资源文件,文件名为:ActionClassName_ 语言 _国家.properties(不是avtion name),该资源文件仅该action可用;
系统在查找key时,先查action范围,再查package范围,后找全局资源文件

4.在jsp中显示(使用全局资源文件)

<s:text name="welcome"></s:text>

5.action中获取
继承ActionSupport类
调用this.getText()方法,参数资源中的key值

public class International extends ActionSupport     public String execute() throws Exception {        String inter=this.getText("welcome");        ActionContext.getContext().put("msg",inter);        return SUCCESS;

二、输出带有占位符的国际化信息
1.资源文件中{数字}代表占位符,数字从零开始,{0}代表第一个占位符
2.jsp页面输出(使用全局资源文件)

<s:text name="welcome">    <s:param>快乐</s:param>    <s:param></s:param></s:text>

输出:快乐欢迎你
3.action中获取
以下两种方法获取
这里写图片描述

  public String execute() throws Exception {        String inter=this.getText("welcome",new String[]{"天天","你"});        ActionContext.getContext().put("msg",inter);        return SUCCESS;    }

输出:天天欢迎你
三、jsp中直接访问资源文件(不配置)
默认访问全局资源文件,放在下访问指定路径的资源文件;
全局资源文件,name为基本名称

<s:i18n name="tt">    <s:text name="welcome">        <s:param>快乐</s:param>        <s:param></s:param>    </s:text></s:i18n>

包范围资源文件,name为包路径加package

<s:i18n name="cn/hello/package">

action范围文件,name为action路径

<s:i18n name="cn/hello/InternationalAction">
原创粉丝点击