我有一个拦截器来处理用户会话.如果该user属性不存在,则拦截器将重定向到登录页面.我想发送session timeout带有重定向网址的消息,但我不想在网址中显示该消息.我谷歌很多,RedirectAttributes或者FlashMap,但我找不到任何好的解决方案.
public class UserSessionInterceptor extends HandlerInterceptorAdapter {
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
User user = (User)request.getSession().getAttribute(CommonConstants.USER_SESSION_KEY);
if (user == null) {
String msg = String.format("session timeout");
logger.error(msg);
// response.sendRedirect("/signin?errorMessage=" + msg); //I don't want to do this..
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
signinController片段:
@Controller
@SessionAttributes(CommonConstants.KAPTCHA_SESSION_KEY)
public class SigninController extends BaseController {
@RequestMapping(value = "/signin", method = …Run Code Online (Sandbox Code Playgroud)