Como registrar a chave do pacote de recursos ausentes
-
24-09-2019 - |
Pergunta
estou usando http://java.sun.com/jsp/jstl/fmt Biblioteca de tags para saída de mensagens do pacote de recursos de mensagens, que é configurado na configuração da primavera. Também a resolução de mensagens pode ser entre os controladores.
Gostaria de registrar situações em que as chaves não forem encontradas no arquivo de pacote de recursos.
Algum corpo sabe como fazer isso?
Solução
A primavera usa a MessageSource
Para recuperar as mensagens, uma solução pode ser escrever o seu próprio MessageSource
que encapsulam a mola e substituem o getMessage
Métodos para inserir seu log.
Algo como o seguinte (não testado):
<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>
com a classe:
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 {
// ...
}
}
Não sei se alguns métodos estão ligando para os outros, então você terá que experimentar um pouco.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow