List of usage examples for org.springframework.web.servlet.support RequestContextUtils getLocaleResolver
@Nullable public static LocaleResolver getLocaleResolver(HttpServletRequest request)
From source file:org.hoteia.qalingo.core.web.util.RequestUtil.java
protected void setLocaleSpringContext(final HttpServletRequest request, String newLocale) { if (newLocale != null) { try {/*from w ww. ja v a 2s .co m*/ LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); if (localeResolver == null) { throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?"); } localeResolver.setLocale(request, null, org.springframework.util.StringUtils.parseLocaleString(newLocale)); } catch (Exception e) { logger.error("No LocaleResolver found: not in a DispatcherServlet request?"); } } }
From source file:org.jtalks.jcommune.web.controller.UserController.java
@RequestMapping(value = "/login_ajax", method = RequestMethod.POST) @ResponseBody//from ww w.ja v a2 s . co m public JsonResponse loginAjax(@RequestParam("userName") String username, @RequestParam("password") String password, @RequestParam(value = "_spring_security_remember_me", defaultValue = "off") String rememberMe, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginUserDto loginUserDto = new LoginUserDto(username, password, rememberMe.equals(REMEMBER_ME_ON), getClientIpAddress(request)); AuthenticationStatus authenticationStatus; try { authenticationStatus = retryTemplate .execute(new LoginRetryCallback(loginUserDto, request, response, userService)); } catch (NoConnectionException e) { return getCustomErrorJsonResponse("connectionError"); } catch (UnexpectedErrorException e) { return getCustomErrorJsonResponse("unexpectedError"); } if (authenticationStatus.equals(AuthenticationStatus.AUTHENTICATED)) { LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); localeResolver.setLocale(request, response, userService.getCurrentUser().getLanguage().getLocale()); return new JsonResponse(JsonResponseStatus.SUCCESS); } else if (authenticationStatus.equals(AuthenticationStatus.NOT_ENABLED)) { JCUser user; try { user = userService.getByUsername(username); } catch (NotFoundException e) { return getCustomErrorJsonResponse("unexpectedError"); } return new JsonResponse(JsonResponseStatus.FAIL, user.getId()); } else { return new JsonResponse(JsonResponseStatus.FAIL); } }
From source file:org.jtalks.jcommune.web.controller.UserController.java
/** * Handles login action.// w ww . j a v a 2 s .com * @param loginUserDto {@link RegisterUserDto} populated in form * @param referer referer url * @param request servlet request * @param response servlet response * @return "success" or "fail" response status */ @RequestMapping(value = "/login", method = RequestMethod.POST) public ModelAndView login(@ModelAttribute(LOGIN_DTO) LoginUserDto loginUserDto, @RequestParam(REFERER_ATTR) String referer, @RequestParam(value = "_spring_security_remember_me", defaultValue = "off") String rememberMe, HttpServletRequest request, HttpServletResponse response) throws Exception { boolean isAuthenticated; loginUserDto.setRememberMe(rememberMe.equals(REMEMBER_ME_ON)); loginUserDto.setClientIp(getClientIpAddress(request)); if (referer == null || referer.contains(LOGIN)) { referer = MAIN_PAGE_REFERER; } try { isAuthenticated = retryTemplate .execute(new LoginRetryCallback(loginUserDto, request, response, userService)) .equals(AuthenticationStatus.AUTHENTICATED); } catch (NoConnectionException e) { return new ModelAndView(AUTH_SERVICE_FAIL_URL); } catch (UnexpectedErrorException e) { return new ModelAndView(AUTH_SERVICE_FAIL_URL); } if (isAuthenticated) { LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); localeResolver.setLocale(request, response, userService.getCurrentUser().getLanguage().getLocale()); return new ModelAndView("redirect:" + referer); } else { ModelAndView modelAndView = new ModelAndView(AUTH_FAIL_URL); modelAndView.addObject(ATTR_USERNAME, loginUserDto.getUserName()); modelAndView.addObject(REFERER_ATTR, referer); return modelAndView; } }
From source file:org.springframework.web.servlet.i18n.LocaleChangeInterceptor.java
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException { String newLocale = request.getParameter(getParamName()); if (newLocale != null) { if (checkHttpMethod(request.getMethod())) { LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); if (localeResolver == null) { throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?"); }/*from www. j a v a 2 s .c o m*/ try { localeResolver.setLocale(request, response, parseLocaleValue(newLocale)); } catch (IllegalArgumentException ex) { if (isIgnoreInvalidLocale()) { logger.debug("Ignoring invalid locale value [" + newLocale + "]: " + ex.getMessage()); } else { throw ex; } } } } // Proceed in any case. return true; }
From source file:ro.cs.om.web.controller.root.ControllerUtils.java
/** Adds to model a list with all the accepted application's languages. * //from www . j a v a 2 s .c om * Also adds previous selected language, found in the client's cookie, * created in the past by CookieLocaleResolver. * * @author dd * @param request */ public void publishLocales(HttpServletRequest request) { logger.debug("Publish Locales"); // A list with all accepted languages List<StringString> languages = new ArrayList<StringString>(); StringString language = null; try { // Language index int i = 1; // Language code prefix String code = "accepted.language.code."; // Language name prefix String name = "accepted.language.name."; // Flag indicating the end of this operation boolean end = false; logger.debug("begin"); while (!end) { logger.debug("-> " + Integer.toString(i)); language = new StringString(); language.setValue( ConfigParametersProvider.getConfigStringProtected(code.concat(Integer.toString(i)))); language.setLabel( ConfigParametersProvider.getConfigStringProtected(name.concat(Integer.toString(i)))); if (language.getValue() != null && language.getLabel() != null) { // If both key and value are valid (!null), add the language to list languages.add(language); // Increment index (scanning next entry) i++; } else { // End of this operation reached end = true; } } logger.debug("end"); } catch (Exception ex) { logger.error("Exception aroused ! Adding default language...", null); // If any exception appeared, I'll add the default language languages.add(new StringString("en", "English")); } // Adding to request the Attribute with all accepted languages request.setAttribute(IConstant.ACCEPTED_LANGUAGES, languages); // Retrieve CookieLocaleResolver SessionLocaleResolver localeResolver = (SessionLocaleResolver) RequestContextUtils .getLocaleResolver(request); logger.debug("localeResolver: " + localeResolver); // Adding to request the Attribute with the selected siteLanguage // SiteLanguage is retrieved from a client's cookie (if any present). request.setAttribute(IConstant.LANGUAGE_ATTRIBUTE, localeResolver.resolveLocale(request).getLanguage()); }