How to get visitor's locale in JSP using Spring 3's SessionLocaleResolver

at. picture at. · Sep 10, 2011 · Viewed 9.9k times · Source

I need to get a visitor's locale in my JSP pages so that I can properly display a drop down menu with a list of languages and have the selected language according to their current locale. Normally I might do something like ${pageContext.request.locale}.

The problem, I think, is that will only give me the locale according to the user's request headers (what the browser sends). But the user may have changed their language/locale, so I need to use Spring's mechanism which looks at the session too:

RequestContextUtils.getLocale(request).toString();

But then it's not so easy to access that in a JSP page and have JSP code work with it.

Or is there another easier mechanism to display a drop down menu of languages to a user? Does Spring store the current locale in an object easily accessible from JSP?

Answer

Jan Thomä picture Jan Thomä · May 22, 2014

For us

${pageContext.response.locale}

did the trick. This property follows what has been set up by Spring's locale resolver.