在使用国际化资源包的时候,我们可以使用多个资源包,但是各个包我们需要取一个别名来表示在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()就能得到我们想要的资源文件中的消息