/** * 根据当前request对象中的locale(Header的Accept属性)初始化系统国际化语言区域环境 * * @param request 当前请求对象 * @param response 当前响应对象 */ public static void setInitLocale(final HttpServletRequest request, final HttpServletResponse response) { final Locale locale = request.getLocale(); log.info("Init locale from user request,country:{},lang:{}", locale.getCountry(), locale.toLanguageTag()); if (localeResolver instanceof CookieLocaleResolver) { final CookieLocaleResolver cookieLocaleResolver = (CookieLocaleResolver)localeResolver; final Cookie cookie = WebUtils.getCookie(request, cookieLocaleResolver.getCookieName()); if (cookie == null) { setLocale(locale.toLanguageTag(), request, response); } } if (localeResolver instanceof SessionLocaleResolver) { final Locale sessionLocale = (Locale)WebUtils.getRequiredSessionAttribute( request, SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME); if (sessionLocale == null) { setLocale(locale.toLanguageTag(), request, response); } } }
/** * 切换国际化语言,langType=zh,中文;langType=en,英文。 * * @param langType 切换的语言类型。 * @param request * @return */ @RequestMapping("lang.do") @ResponseBody public String lang( @RequestParam("langType") String langType, HttpServletRequest request){ Locale locale = null; if("zh".equalsIgnoreCase(langType)){ locale = new Locale("zh", "CN"); } else if("en".equalsIgnoreCase(langType)){ locale = new Locale("en", "US"); }else { LocaleContextHolder.getLocale(); } request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); return null; }
@Bean public LocaleResolver localeResolver() { SessionLocaleResolver bean = new SessionLocaleResolver(); String locale = this.casProperties.getLocale().getDefaultValue(); this.log.debug("Setting default locale to [{}]", locale); bean.setDefaultLocale(new Locale(locale)); return bean; }
@Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); // 默认语言 slr.setDefaultLocale(Locale.CHINA); return slr; }
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (Optional.ofNullable(SecurityContextHolder.getContext().getAuthentication()).isPresent() && SecurityContextHolder.getContext().getAuthentication().getPrincipal() instanceof User) { try { User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); if (Optional.ofNullable(request.getSession()).isPresent() && Optional.ofNullable(user).isPresent()) { if (!Optional.ofNullable(request.getSession() .getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME)).isPresent() || !request.getSession().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME) .equals(user.getLanguage().getLocale())) { request.getSession().setAttribute( SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, user.getLanguage().getLocale()); } } } catch (ClassCastException e){ User invalidUSer = User.builder().name("INVALID USER").tenant(Tenant.builder().name("INVALID TENANT").build()).build(); LOG.error("Invalid user type on session", invalidUSer.toURI(), invalidUSer.getTenant().getLogLevel(), e); } } return super.preHandle(request, response, handler); }
/** * Set the LocaleResolver for the GUI portion of the application * By default english pages with be returned to the user * @return LocaleResolver */ @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(Locale.US); return slr; }
@Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { String username = ((User)authentication.getPrincipal()).getUsername(); String locale = userDAO.getUserLocale(username); SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); sessionLocaleResolver.setLocale(request, response, new Locale(locale)); userDAO.registerLogin(true, request.getRemoteAddr(), ((User) authentication.getPrincipal()).getUsername()); setDefaultTargetUrl(determineTargetUrl(request)); super.onAuthenticationSuccess(request, response, authentication); }
/** * Session locale resolver. * * @return the session locale resolver */ @Bean(name = "localeResolver") public SessionLocaleResolver sessionLocaleResolver() { SessionLocaleResolver localeResolver = new SessionLocaleResolver(); localeResolver.setDefaultLocale(new Locale("ru")); return localeResolver; }
@Bean public LocaleResolver localeResolver() { final SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); sessionLocaleResolver.setDefaultLocale(Locale.ENGLISH); return sessionLocaleResolver; }
@Bean @Override public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(new Locale("pt-BR")); return slr; }
@Override public void doSomething(HttpServletRequest request) throws ServletException, IllegalAccessException { WebApplicationContext wac = RequestContextUtils.getWebApplicationContext(request); if (!(wac instanceof ComplexWebApplicationContext)) { throw new ServletException("Incorrect WebApplicationContext"); } if (!(request instanceof MultipartHttpServletRequest)) { throw new ServletException("Not in a MultipartHttpServletRequest"); } if (!(RequestContextUtils.getLocaleResolver(request) instanceof SessionLocaleResolver)) { throw new ServletException("Incorrect LocaleResolver"); } if (!Locale.CANADA.equals(RequestContextUtils.getLocale(request))) { throw new ServletException("Incorrect Locale"); } if (!Locale.CANADA.equals(LocaleContextHolder.getLocale())) { throw new ServletException("Incorrect Locale"); } if (!(RequestContextUtils.getThemeResolver(request) instanceof SessionThemeResolver)) { throw new ServletException("Incorrect ThemeResolver"); } if (!"theme".equals(RequestContextUtils.getThemeResolver(request).resolveThemeName(request))) { throw new ServletException("Incorrect theme name"); } if (request.getParameter("fail") != null) { throw new ModelAndViewDefiningException(new ModelAndView("failed1")); } if (request.getParameter("access") != null) { throw new IllegalAccessException("illegal access"); } if (request.getParameter("servlet") != null) { throw new ServletRequestBindingException("servlet"); } if (request.getParameter("exception") != null) { throw new RuntimeException("servlet"); } }
@Autowired public UserJService(UserLocalService userLocalService, ReloadableResourceBundleMessageSource messageSource, SessionLocaleResolver localeResolver) { this.userLocalService = userLocalService; this.messageSource = messageSource; this.localeResolver = localeResolver; }
/** * Intercepts the selected language * * @author Adelina * @param request */ private void interceptLanguagePreference(HttpServletRequest request) { logger.debug("interceptLanguagePreference"); if (request.getParameter(IConstant.LANGUAGE_ATTRIBUTE) != null) { logger.debug("siteLanguage: " + request.getParameter(IConstant.LANGUAGE_ATTRIBUTE)); // put on session request.getSession().setAttribute( SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, new Locale(request.getParameter(IConstant.LANGUAGE_ATTRIBUTE))); } }
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("==============================================="); logger.debug("=========== MODULES CONTROLLER ================"); logger.debug("==============================================="); ModelAndView mav = new ModelAndView(getView()); InetAddress.getLocalHost().getHostAddress(); UserAuth userAuth = (UserAuth)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); mav.addObject("username", userAuth.getUsername()); // mav.addObject(IS_ADMIN_IT, userAuth.isAdminIT()); // mav.addObject(MODULES, userAuth.getModules()); request.getSession().setAttribute(IS_ADMIN_IT, userAuth.isAdminIT()); request.getSession().setAttribute(MODULES, userAuth.getModules()); Locale locale = (Locale)request.getSession().getAttribute( SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME); if(locale != null){ mav.addObject(IConstant.LANGUAGE_ATTRIBUTE, (locale.getLanguage())); }else{ mav.addObject(IConstant.LANGUAGE_ATTRIBUTE, ("ro")); } Module omModule = BLModule.getInstance().get(IConstant.OM_MODULE); mav.addObject(OM_MODULE_ID, omModule.getModuleId()); return mav; }
/** * Intercepts the selected language * * @author Adelina * @param request */ private void interceptLanguagePreference(HttpServletRequest request) { logger.debug("interceptLanguagePreference - START - "); if (request.getParameter(IConstant.LANGUAGE_ATTRIBUTE) != null) { logger.debug("siteLanguage: " + request.getParameter(IConstant.LANGUAGE_ATTRIBUTE)); // put on session request.getSession().setAttribute( SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, new Locale(request .getParameter(IConstant.LANGUAGE_ATTRIBUTE))); } logger.debug("interceptLanguagePreference - END - "); }
@Bean LocaleResolver localeResolver(){ SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); sessionLocaleResolver.setDefaultLocale(Locale.US); return sessionLocaleResolver; }
@Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(Locale.US); return slr; }
@Bean public LocaleResolver localeResolver() { final SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); sessionLocaleResolver.setDefaultLocale(Locale.US); return sessionLocaleResolver; }
@Bean public LocaleResolver localeResolver() { return new SessionLocaleResolver(); }
@Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(new Locale("et")); return slr; }
@Bean public LocaleResolver localeResolver() { SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); sessionLocaleResolver.setDefaultLocale(Locale.US); return sessionLocaleResolver; }
@Override @SuppressWarnings("deprecation") public void doSomething(HttpServletRequest request) throws ServletException, IllegalAccessException { WebApplicationContext wac = RequestContextUtils.getWebApplicationContext(request); if (!(wac instanceof ComplexWebApplicationContext)) { throw new ServletException("Incorrect WebApplicationContext"); } if (WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class) == null) { throw new ServletException("Not in a MultipartHttpServletRequest"); } if (request.getParameter("fail") != null) { throw new ModelAndViewDefiningException(new ModelAndView("failed1")); } if (request.getParameter("access") != null) { throw new IllegalAccessException("illegal access"); } if (request.getParameter("servlet") != null) { throw new ServletRequestBindingException("servlet"); } if (request.getParameter("exception") != null) { throw new RuntimeException("servlet"); } if (!(RequestContextUtils.getLocaleResolver(request) instanceof SessionLocaleResolver)) { throw new ServletException("Incorrect LocaleResolver"); } if (!Locale.CANADA.equals(RequestContextUtils.getLocale(request))) { throw new ServletException("Incorrect Locale"); } if (!Locale.CANADA.equals(LocaleContextHolder.getLocale())) { throw new ServletException("Incorrect Locale"); } if (RequestContextUtils.getTimeZone(request) != null) { throw new ServletException("Incorrect TimeZone"); } if (!TimeZone.getDefault().equals(LocaleContextHolder.getTimeZone())) { throw new ServletException("Incorrect TimeZone"); } if (!(RequestContextUtils.getThemeResolver(request) instanceof SessionThemeResolver)) { throw new ServletException("Incorrect ThemeResolver"); } if (!"theme".equals(RequestContextUtils.getThemeResolver(request).resolveThemeName(request))) { throw new ServletException("Incorrect theme name"); } RequestContext rc = new RequestContext(request); rc.changeLocale(Locale.US, TimeZone.getTimeZone("GMT+1")); rc.changeTheme("theme2"); if (!Locale.US.equals(RequestContextUtils.getLocale(request))) { throw new ServletException("Incorrect Locale"); } if (!Locale.US.equals(LocaleContextHolder.getLocale())) { throw new ServletException("Incorrect Locale"); } if (!TimeZone.getTimeZone("GMT+1").equals(RequestContextUtils.getTimeZone(request))) { throw new ServletException("Incorrect TimeZone"); } if (!TimeZone.getTimeZone("GMT+1").equals(LocaleContextHolder.getTimeZone())) { throw new ServletException("Incorrect TimeZone"); } if (!"theme2".equals(RequestContextUtils.getThemeResolver(request).resolveThemeName(request))) { throw new ServletException("Incorrect theme name"); } }
@Bean public LocaleResolver localeResolver() { final SessionLocaleResolver ret = new SessionLocaleResolver(); return ret; }
@Bean public LocaleResolver localeResolver(){ return new SessionLocaleResolver(); }
@Bean public SessionLocaleResolver localeResolver() { return new SessionLocaleResolver(); }