как записать пропущенный ключ пакета ресурсов - PullRequest
0 голосов
/ 05 марта 2010

Я использую библиотеку тегов http://java.sun.com/jsp/jstl/fmt для вывода сообщений из Message Resource Bundle, настроенного в конфигурации Spring. Также разрешение сообщений может идти в контроллерах.

Я бы хотел регистрировать ситуации, когда ключи не найдены в файле комплекта ресурсов.

Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 05 марта 2010

Spring использует MessageSource для извлечения сообщений, поэтому одним из решений может быть написание вашего собственного MessageSource, который инкапсулирует Spring, и перезаписывает getMessage методы для вставки вашей регистрации.

Что-то вроде следующего (не проверено):

 <bean id="messageSource" class="com.acme.LoggingMessageSource">
   <property name="pathtru">
     <bean class="org.springframework.context.support.ResourceBundleMessageSource">
       <property name="basenames">
         <list>
           <value>buttons</value>
           <value>labels</value>
         </list>    
       </property>
     </bean>
   </property>
 </bean>

с классом:

public class LoggingMessageSource implements MessageSource {

  private MessageSource pathtru;

  public String getMessage(String code, Object[] args, String defaultMessage, Locale locale) {
    // ...
  }

  public String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException {
    // ...
  }

  public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
    // ...
  }
}

Я не знаю, вызывают ли некоторые методы другие, поэтому вам придется немного поэкспериментировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...