Struts1源码查看之国际化资源

在使用国际化资源包的时候,我们可以使用多个资源包,但是各个包我们需要取一个别名来表示在struts-config.xmml文件中message-resources中配置属性:key.  那么我们可以在jsp页面中使用budle属性来指定这个key值所对应的资源文件.去查找我们所需要的值.


在使用struts的标签的时候,属性不能使用国际化资源.比如html:submit标签中的value属性,不能直接使用<bean:message />标签放在value值中.可以将bean标签嵌套在html:submit中,这样就可以利用bean标签使用国际化资源了.

在配置资源文件的时候,我们的资源文件名称,不能写成 - 而是 _ (一定要使用下划线进行链接.)

对于国际化资源的使用:

ActionErrors ae = new ActionErrors();
if(this.user2.getName()==null || ("").equals(this.user2.getName().trim())){
ae.add("nameError", new ActionMessage("errors.username"));
}

在添加错误信息提示的时候,我们可以

new ActionMessage("用户名不能为空", false);

这个表示使用代码中的字符串提示.

后面的boolean参数是为了表示是不是把这个字符当作是资源文件中的key值查找信息还是仅仅当作是普通字符串.

/**
* <p>Construct an action message with the specified replacement values.</p>
*
* @param key Message key for this message
* @param resource Indicates whether the key is a bundle key or literal value
*/
public ActionMessage(String key, boolean resource) {
this.key = key;
this.resource = resource;
}


在参数的国际化中,我们使用Action类中的getResources().getMessage()就能得到我们想要的资源文件中的消息


在formBeam中我们将参数进行国际化的时候,我们可以参考action类中的方法利用request对象来得到资源文件中的消息.(因为在action中有直接封装好的方法,我们可以直接调用,在formBean里就没有那些方法,所以我们可以参考action中的代码来写formBean中的参数国际化)

转载于:https://my.oschina.net/zhngjan/blog/351212

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值