Domanda

http://java.sun.com/jsp/jstl/fmt libreria di tag per emettere i messaggi di risorse messaggio di bundle che è impostato in configurazione primavera. Inoltre messaggio risolvendo può andare in Controller.

mi piacerebbe registrare situazioni in cui le chiavi non si trovano nel file di bundle di risorse.

qualsiasi organismo non sapere come fare?

È stato utile?

Soluzione

Spring usa un MessageSource per recuperare i messaggi in modo una soluzione potrebbe essere quella di scrivere il proprio MessageSource che incapsulano la primavera uno e sovrascrivere i metodi getMessage per inserire il tuo registrazione.

Qualcosa di simile a quanto segue (non testato):

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

Non so se alcuni metodi stanno chiamando gli altri in modo da avere a sperimentare un po '.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top