سؤال

انا استخدم http://java.sun.com/jsp/jstl/fmt مكتبة العلامات لإخراج الرسائل من حزمة موارد الرسائل التي يتم إعدادها في تكوين الربيع. كما يمكن حل الرسائل في وحدات التحكم.

أرغب في تسجيل المواقف عندما لا يتم العثور على المفاتيح في ملف حزمة الموارد.

هل يعرف أي شخص كيف يفعل ذلك؟

هل كانت مفيدة؟

المحلول

الربيع يستخدم MessageSource لاسترداد الرسائل بحيث يمكن أن يكون هناك حل واحد لكتابة خاصتك MessageSource التي تغلف الربيع والكتابة فوق 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 {
    // ...
  }
}

لا أعرف ما إذا كانت بعض الأساليب تتصل بالطرق الأخرى ، لذا سيتعين عليك التجربة قليلاً.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top