Почему пакет ресурсов не загружается в поддерживаемый Java Webscript
У меня есть webscript, определенный следующим образом:
- mywebscript.get.desc.xml
- mywebscript.get.properties
- mywebscript.get.json.ftl
Этот веб-скрипт поддерживается контроллером 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
, но кажется, что другие свойства загружены, но те, которые мне нужны, нет.
1 ответ
Ресурсы в webscriptname.get.properties
файлы не доступны через службу сообщений или I18NUtil. Последние два имеют глобальную область действия, в то время как свойства веб-скрипта относятся только к этому 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