0
@Autowired
private SessionLocaleResolver localeResolver;
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
// clean previous failed access
authorizationServiceConfig.cleanUserFailedAccess();
// set the session locale
localeResolver.setLocale(request, response, authorizationServiceConfig.getUserLocale());
//redirect login..
handle(request, response, authentication);
}
인증 서비스에서 이전에 설정 한 SessionLocaleResolver 로캘 값을 가져와야합니다. 하지만 난 그것에 어떤 포인터가없는 방법에서 현재 요청을받을 경우 당신이 원하는 모든이, RequestContextHolder
당신의 친구 경우 여기에 요청 :(현재 세션 로케일을 얻는 방법?
public String getMessage(String key) {
String answer;
if (key == null) {
return "";
}
try {
answer = getMessageSourceAccessor().getMessage(key, "here i need the Session locale");
} catch (Exception e) {
answer = key;
}
return answer;
}
어떻게 생각하십니까? Spring WebFlow의 사용법? – dimitrisli
'RequestContextHolder'는'DispatcherServlet'에 의해 자동으로 활성화됩니다. 'DispatcherServlet'을 사용하지 않으면 ServletContext에'RequestContextListener'를 등록하는 것만으로 충분합니다. 그것은 Spring WebFlow에 아무런 의존성이 없습니다. –
당신이 옳습니다. 나는 org.springframework.webflow.execution.RequestContextHolder를 알고 있었다. 분명히 org.springframework.web.context.request.RequestContextHolder가있다. – dimitrisli