在Struts2拦截器中使用资源包

时间:2012-04-23 05:45:06

标签: java java-ee struts2 web

Struts2动作通常扩展ActionSupport类,它实现TextProvider接口,并使用getText()方法以方便的方式提供对资源包文件的访问。

我想在拦截器中使用资源包。我想我必须复制TextProvider实现并将其粘贴到我的拦截器中。

我已在struts.xml

中定义了全局资源调度文件
<constant name="struts.custom.i18n.resources" value="resources.global" /> 

global.properties放在resources包中。

它在Action Classes中工作正常

在拦截器中使用资源包是否有更简单的方法?

2 个答案:

答案 0 :(得分:4)

您可以使用java.util.ResourceBundle课程。

ResourceBundle bundle = ResourceBundle.getBundle("my_resource_name", locale);
bundle.getString("resource_key");

答案 1 :(得分:4)

如果您的操作类型为ActionSupport,则可以执行以下操作:

ActionSupport actionSupport = (ActionSupport)invocation.getAction();
actionSupport.getText("sample.key");