2015-10-18 11 views
6

हमारे पास एक विरासत एप्लिकेशन है जो स्ट्रूट्स 1.2.9 का उपयोग करता है। ऐप वर्तमान में सभी यूआई लेबल, त्रुटियों, संदेशों इत्यादि के लिए मानक तरीके - .properties फ़ाइलों को अंतर्राष्ट्रीयकृत कर रहा है; <message-resouces> डिफ़ॉल्ट Factory & MessageResources परिभाषाओं का उपयोग करते हुए struts-config.xml में प्रत्येक .properties फ़ाइल के लिए परिभाषा; सभी जेएसपी में <bean:message> उपयोग। इसने अब तक बहुत अच्छा काम किया है, लेकिन इस तथ्य के लिए कि आवेदन स्वयं कुछ अनुप्रयोगों (हां 100 के!) द्वारा आंतरिक रूप से उपयोग की जाने वाली सेवाओं के लिए एक ढांचा है।स्ट्रैट्स 1.2.9 - कस्टम अंतर्राष्ट्रीयकरण के आसपास प्रश्न

हम i18n कार्यक्षमता बढ़ाने के लिए एक आवश्यकता के रूप में निम्नानुसार है:

  1. .properties फ़ाइलों के लिए एक कस्टम निर्देशिका परिभाषित करें - तो यह classpath के दायरे से बाहर हो सकता है; मूल रूप से .war पैकेज के अंदर नहीं। विचार केवल पूरे संदेश को पुन: नियोजित करने के लिए संदेश स्ट्रिंग परिवर्तनों का समर्थन करना है।
  2. इस कस्टम निर्देशिका में प्रति समर्थित एप्लिकेशन संदेश भी शामिल होंगे - यह केवल मौजूदा लोगों का एक सबसेट हो सकता है या विशेष रूप से उस एप्लिकेशन के अनुरूप बनाए गए संसाधनों का पूरा सेट हो सकता है।
  3. प्रति अनुरोध के आधार समर्थन Locale सेटिंग के कस्टम तरीका है - सभी अन्य कारणों (डिफ़ॉल्ट ढेर, classpath/पैकेज लुकअप, आदि) को छोड़कर इस तरह requestOnlyParameterName विशेषता के साथ struts2 में I18nInterceptor काम करता है true करने के लिए सेट के अनुरूप है।

हाँ, मुझे समझ में आता है कि एक ही समय में लोड किए गए कुछ 100 बंडल स्मृति गहन होंगे, लेकिन यह हमारे मामले में स्वीकार्य है।

किसी भी मदद की सराहना की है - यह दिशा, नमूना कोड, आदि

नोट हो: मैं पूरी तरह से सहमत हैं कि एक नए यूआई मंच पर जाने से शायद सबसे अच्छा समाधान है। लेकिन हम नहीं कर सकते।

टीआईए।

+0

अपनी खुद की MessageResources को लागू करने में मदद करता है की तरह लग रहा है और MessageResourcesFactory जाने का रास्ता है। विचार? – Ranga

उत्तर

0

मुझे वसंत परियोजना में एक ही आवश्यकता थी, न केवल i18n के लिए, वेब सेवाओं के अंतराल और अन्य प्रकार की संपत्तियों के लिए।

हम उस निर्देशिका को जोड़कर उस आवश्यकता को पूरा करते हैं, जिसमें हम गुण फ़ाइल को सर्वर में क्लासपाथ में कॉन्फ़िगरेशन फ़ाइल प्रारंभ करते हैं।

वेबलॉगिक 11 जी (प्रजनन और उत्पादन) और टॉमकैट सर्वर (विकास पर्यावरण) में परीक्षण और काम करना।

आशा

+0

आपके सुझाव फ्रांसिस्को के लिए धन्यवाद। अगर मैं सही ढंग से याद करता हूं, जब आप को परिभाषित करते हैं, तो आप गुण फ़ाइल को चुनने के लिए पैकेज नाम को परिभाषित करते हैं। अगर मेरे पास कई उप-निर्देशिकाओं के साथ रूट निर्देशिका थी, प्रत्येक संभावित रूप से एकाधिक बंडल युक्त, मुझे नहीं लगता कि अकेले इस क्लासपाथ सेटिंग काम करेगी। आपको एक तंत्र की आवश्यकता होगी जिसके द्वारा प्रत्येक अनुरोध के लिए, लोकेल और बदले में सही गुण बंडल को रूट डीआईआर के नीचे उस एप्लिकेशन के लिए संबंधित निर्देशिका से चुना जाना चाहिए। – Ranga

संबंधित मुद्दे