2013-04-16 3 views
0

У меня есть WebScript, определенный следующим образом:Почему пакет ресурсов не загружен в Java при поддержке WebScript

  • mywebscript.get.desc.xml
  • mywebscript.get.properties
  • mywebscript.get.json .ftl

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

ответ

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

Смежные вопросы