我有一个webscript定义如下:
这个webscript由这样的java控制器支持:
<bean id="webscript.mypackage.mywebscript.get"
class="javapackage.MyWebscriptGet" parent="webscript">
<property name="serviceRegistry" ref="ServiceRegistry" />
<property name="messageService" ref="messageService" />
</bean>
我无法在java代码中检索“mywebscript.get.properties”中定义的一些属性,
我尝试使用messageService
和I18nUtil.getMessage
,但似乎加载了其他属性,但我需要的属性不是。
答案 0 :(得分:3)
webscriptname.get.properties
文件中的资源无法通过消息服务或I18NUtil获得。后两者是全局范围的,而webscript属性仅针对该WebScript。要获得它们,您需要使用WebScript定义。
在Java中,这意味着要做类似的事情:
protected Map<String, Object> executeImpl(WebScriptRequest req,
Status status, Cache cache)
{
Map<String, String> templateVars = req.getServiceMatch().getTemplateVars();
WebScript webscript = req.getServiceMatch().getWebScript();
ResourceBundle webscriptRB = webscript.getResources();
....
}
从WebScriptRequest
获取Match
,从那里获取WebScript
,这将为您提供特定于webscript的属性ResourceBundle