Pregunta

Estoy utilizando http://java.sun.com/jsp/jstl/fmt biblioteca de etiquetas para la salida de mensajes de Mensaje paquete de recursos que está configurado en la configuración de la primavera. También puede ir resolviendo mensaje de controladores.

Me gustaría iniciar sesión situaciones en las que las llaves no se encuentran en el archivo de paquete de recursos.

¿Alguno de los conocimientos cuerpo cómo hacerlo?

¿Fue útil?

Solución

Spring utiliza un MessageSource para recuperar los mensajes por lo que una solución podría ser escribir su propio MessageSource que encapsulan la primavera uno y sobrescribir los métodos getMessage para insertar el registro.

algo como el siguiente (no probado):

 <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>

con la clase:

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 {
    // ...
  }
}

No sé si algunos métodos están llamando a los demás por lo que tendrá que experimentar un poco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top