Почему пакет ресурсов не загружается в поддерживаемый 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

Другие вопросы по тегам