小编qat*_*ang的帖子

我可以在Spring MVC的Interceptor中使用RedirectAttributes或FlashMap

我有一个拦截器来处理用户会话.如果该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)

java spring spring-mvc

4
推荐指数
1
解决办法
4594
查看次数

标签 统计

java ×1

spring ×1

spring-mvc ×1