मेरे पास जेटी सर्वर और रूट संदर्भ युद्ध द्वारा दी गई सहायता फ़ाइलों से भरे दो स्थिर युद्ध हैं।वेबपैड किसी अन्य वेबैप पर कैसे आगे बढ़ता है?
- help.war - अंग्रेज़ी मदद फ़ाइलों
- help_CS.war - चेक मदद फ़ाइलों
ROOT.war
अनुरोध के स्थान के आधार पर, मैं चाहता हूँ किसी उपयोगकर्ता को उनके लिए प्रासंगिक भाषा में बदलने के लिए। यानी उपयोगकर्ता /help/index.htm अनुरोध करता है और जब वे चेक लोकेल से अनुरोध कर रहे हैं, तो उन्हें /help_CS/index.htm मिलता है। विचार यह है कि भाषा पैक को बिना किसी झगड़े के जरूरी जोड़ा जा सकता है।
I tried एक कस्टम RewriteHandler, Jetty.xml में निर्दिष्ट जो Request और या तो आगे से वातावरण पकड़ लेता है या हैंडल() पर पुनर्निर्देश जोड़ने। दोनों शिकायत करते हैं क्योंकि प्रतिक्रिया बिंदु इस बिंदु से भेजे गए हैं ... किसी भी तरह ?!
मैं ROOT.war जो मैं मैच के लिए */मदद/** कोई बात नहीं क्या यूआरएल पैटर्न मैंने कोशिश की भिन्नता नहीं मिल सका के web.xml में एक कस्टम Filter की कोशिश की।
मैं तो एक ही Filter अंतिम प्रयास के रूप में के लिए एक संदर्भ वेब-INF में/web.xml मेरी help.war को जोड़ा गया है जो मेल खाएगा और यूआरएल उत्पन्न किया जा सकता है, लेकिन मैं इस पर URL रीराइट नहीं कर सकते बिंदु क्योंकि यह हमेशा /सहायता/ द्वारा प्रीपेड किया जाता है, इसलिए help_CS के साथ प्रतिस्थापित सहायता वाला यूआरएल डोमेन/सहायता/help_CS/index.htm के रूप में समाप्त होता है।
तो मेरा प्रश्न। यह कैसे किया जा सकता है?
इसके लिए जावास्क्रिप्ट का उपयोग करें। अगर (isCS) {window.location.href = hostname/help_CS}, जहांCS bolean चर है। –
अच्छी योजना है लेकिन मैं नहीं कर सकता। सहायता फ़ाइलों को गतिशील रूप से कुछ तृतीय पक्ष सॉफ़्टवेयर द्वारा उत्पन्न किया जाता है जो बहुत कम अनुकूलन की अनुमति देता है। इसका मतलब यह होगा कि यदि एक दिन में पचास भाषाओं में जावास्क्रिप्ट को हर बार सहायता उत्पन्न होने पर 50 * एन (एन भाषाओं की संख्या) के लिए हाथ में प्रवेश करने की आवश्यकता होगी। –
आप सही हैं।मुख्य वेब एप्लिकेशन में उप-निर्देशिकाओं में अपनी सहायता फ़ाइलों को स्टोर करें। मुझे लगता है कि यह कठोर तरीका है। –