idea中实现struts2框架下国际化

一、输出国际化信息
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">
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值