سؤال

لا بد لي من تقديم حزمة SPRING MessageSources للحصول على دعم I18N (ملفات الخصائص) خارج ClassPath من أجل تعديل الخصائص بسهولة أكبر. كيف أقوم بذلك ؟

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="test-messages"/>

شكرًا!

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

المحلول

لقد قمنا ببناء تطبيق مصدر الرسائل يبحث عن الرسائل في DB. ما عليك فعله هو إنشاء تطبيق MessageSource الذي يرث من SPRING AbstractMessagesource (من أجل الحصول على جميع الميزات ، انظر Javadoc).

يجب عليك تنفيذ الحد الأدنى من الطريقة المجردة "SELELVECODE (سلسلة ، لغة)" (ولكن تنفيذ "SELEDECODEWITHATARGUMITS (سلسلة ، لغة) هذه:

table translation (
  translation_id number pk
  code varchar(20)
  locale varchar(5)
  translation varchar(100)
)

الكود والمحطة تشكل فهرس فريد.

إنتهيت. بالطبع ، ستضيف بعض إمكانيات ذاكرة التخزين المؤقت ، وتوفر سلوك "تدهور موضعي" (أي إذا لم يتم العثور على "EN_US" ، حاول "en") ، إما على مستوى Dao- أو على مستوى الرسائل.

هذا يعمل تماما.

نصائح أخرى

افحص هذا مسلك للحصول على معلومات تتعلق بهذه المشكلة ، لكنني أعتقد أنها ليست ممارسة جيدة للحصول على ملفات خارج سياق Tomcat لأنك لا تعرف أبدًا أين سيتم نشر طلبك.

ولكن في حال احتجت ، ستجد بعض الحلول الجميلة هناك.

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