الوصول إلى كائن httpservletrequest في Spring Webflow
-
21-09-2019 - |
سؤال
أنا أستخدم WebFlow وأرغب في إضافة اللغة الحالية إلى التدفق. لدي بالفعل طريقة حللية تقوم بذلك مع هذا التوقيع:
public Locale resolveLocale (HttpServletRequest request);
أرغب في إضافة شيء مثل هذا في Webflow XML:
<on-start>
<evaluate expression="localeService.resolveLocale(???)" result="flowScope.locale"/>
</on-start>
الآن ، لا أعرف ماذا أضع في ؟؟؟ جزء المعلمة.
أيه أفكار؟ شكرا للقراءة.
المحلول
لم أستخدم تدفق الويب ، ولكن بافتراض أنه يشبه بقية الربيع ، يمكنك استخدام requestContextholder لهذا الغرض. يشير البحث السريع في Google إلى أن تدفق الويب يمنحك حتى تدفق ويب محدد requestContextholder - حتى أفضل
نصائح أخرى
طريقة أسهل للوصول إلى اللغة
فقط اتصل: localecontextholder.getlocale ()
يمكنك الحصول على httpservletrequest في هذا النمط
(HttpServletRequest)RequestContextHolder.getRequestContext().getExternalContext().getNativeRequest()
شكرا على تلميحاتك. أنا أستخدم السطر التالي في خدمتي (يستخدم SWF-Config جهاز SessionLocaleresolver):
Locale locale = (Locale) RequestContextHolder.getRequestAttributes().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION);
لا تنتمي إلى StackOverflow