سؤال

أنا أستخدم WebFlow وأرغب في إضافة اللغة الحالية إلى التدفق. لدي بالفعل طريقة حللية تقوم بذلك مع هذا التوقيع:

public Locale resolveLocale (HttpServletRequest request);

أرغب في إضافة شيء مثل هذا في Webflow XML:

<on-start>
<evaluate expression="localeService.resolveLocale(???)" result="flowScope.locale"/>
</on-start>

الآن ، لا أعرف ماذا أضع في ؟؟؟ جزء المعلمة.
أيه أفكار؟ شكرا للقراءة.

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

المحلول

لم أستخدم تدفق الويب ، ولكن بافتراض أنه يشبه بقية الربيع ، يمكنك استخدام requestContextholder لهذا الغرض. يشير البحث السريع في Google إلى أن تدفق الويب يمنحك حتى تدفق ويب محدد requestContextholder - حتى أفضل

نصائح أخرى

طريقة أسهل للوصول إلى اللغة

فقط اتصل: localecontextholder.getlocale ()

http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/i18n/localecontextholder.html

يمكنك الحصول على httpservletrequest في هذا النمط

(HttpServletRequest)RequestContextHolder.getRequestContext().getExternalContext().getNativeRequest()

شكرا على تلميحاتك. أنا أستخدم السطر التالي في خدمتي (يستخدم SWF-Config جهاز SessionLocaleresolver):

Locale locale = (Locale) RequestContextHolder.getRequestAttributes().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top