我有一个网页脚本定义如下:
- mywebscript.get.desc.xml
- mywebscript.get.properties
- mywebscript.get.json.ftl
该网页脚本由如下 java Controller 支持:
<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
,但似乎加载了其他属性,但我需要的属性没有加载。
最佳答案
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 特定属性作为 资源包
关于java - 为什么资源包没有加载到java支持的webscript中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16032076/