سؤال

أسمي وظيفة "foo.action؟ request_locale = en" في النموذج الخاص بي. هناك التحقق من صحة Xwork في تلك الصفحة وأتوقع الحصول على خطأ في التحقق من الصحة في اللغة المحددة. ما أحصل عليه هو صفحة باللغة الفنلندية - لغتي الافتراضية للمتصفح - وتوقعت واحدة باللغة الإنجليزية.

كيف يمكن تغيير اللغة المستخدمة على صفحة JSP (وهذا هو المكان الذي يأتي منه request_locale) بحيث يظهر الإجراء المسمى من النموذج الخاص بي بهذه اللغة المحددة وليس المتصفح الافتراضي؟

بعض المواصفات: struts.xml لديها سطر لأن أفعالي موجودة في دليل fi.foo.action وموارد i18n في Fi/Foo/package_en.properties ومثل هذه الملفات.

المدققون في baraction-foo-voodidation.xml نوع من الملفات في مجلد fi.foo.action.

Fi = الفنلندي

يعمل طلبي بشكل جيد ولكن إعداد اللغة هذا يعطي لغة خاطئة على الشاشة.

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

المحلول

يبدو مثل i18n لم يتم تكوين Interceptor لمكدس اعتراض الإجراء الخاص بك. ال i18n يتم تعريف التقاطع الرابع في defaultStack. تأكد من أنك لا تتجاوز المكدس لإجراءاتك. إذا تم تكوينه ، فحاول إعداد نقطة توقف في intercept طريقة I18nInterceptor للتأكيد على أنه يتم الاحتجاج به. خلاف ذلك ، ما لديك يجب أن تعمل.

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