Example usage for org.springframework.web.servlet LocaleResolver LocaleResolver

List of usage examples for org.springframework.web.servlet LocaleResolver LocaleResolver

Introduction

In this page you can find the example usage for org.springframework.web.servlet LocaleResolver LocaleResolver.

Prototype

LocaleResolver

Source Link

Usage

From source file:org.fenixedu.bennu.spring.BennuSpringConfiguration.java

@Bean
public LocaleResolver localeResolver() {
    return new LocaleResolver() {

        @Override/*from   w ww.ja va  2s . co  m*/
        public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
            I18N.setLocale(request.getSession(), locale);
        }

        @Override
        public Locale resolveLocale(HttpServletRequest request) {
            return I18N.getLocale();
        }
    };
}

From source file:org.jahia.bundles.extender.jahiamodules.JspServletWrapper.java

@Override
public void service(final ServletRequest req, final ServletResponse res) throws ServletException, IOException {
    String jspPath = getJspFilePath(req);
    if (jspPath != null) {
        req.setAttribute(Constants.JSP_FILE, jspPath);
    }/*from  ww  w  .  ja  v a  2  s  .  c  om*/

    Object currentLocaleResolver = req.getAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE);
    req.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new LocaleResolver() {

        @Override
        public Locale resolveLocale(HttpServletRequest request) {
            HttpSession session = request.getSession();
            if (session != null) {
                Locale currentLocale = (Locale) session.getAttribute(org.jahia.api.Constants.SESSION_LOCALE);
                if (currentLocale != null) {
                    return currentLocale;
                }
            }
            return request.getLocale();
        }

        @Override
        public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
        }
    });

    // Prepare attributes for subsequent includes
    String p = (String) req.getAttribute("javax.servlet.include.servlet_path")
            + (String) req.getAttribute("javax.servlet.include.path_info");
    req.setAttribute("javax.servlet.include.path_info", null);
    req.setAttribute("javax.servlet.include.servlet_path", p);

    try {
        ContextClassLoaderUtils.doWithClassLoader(urlClassLoader, new Callable<Void>() {
            public Void call() throws Exception {
                jspServlet.service(req, res);
                return null;
            }
        });
    } catch (Exception e) {
        throw new ServletException("Error during servlet servicing", e);
    }
    req.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, currentLocaleResolver);
}