Spring MVC 3:拦截器返回视图为false

Jas*_*son 2 java spring-mvc interceptor

我正在使用拦截器限制对应用程序中某些用户的访问.例如:

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{
    Logger.logRequest(request);
    return list.contains(user);
}
Run Code Online (Sandbox Code Playgroud)

如果列表包含用户,则完成请求.否则,它什么都不做.

如果用户无权访问,如何显示自定义页面?现在,如果它是假的,它只显示一个空白页面,这对用户体验不太好.

Jas*_*son 7

看起来你可以在没有命中servlet的情况下进行响应重定向.以下作品:

    if (list.contains(user))
        return true;
    else
    {
        //set up the view
        response.sendRedirect("nope_view");
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

  • 小心命名.传递给重定向的字符串不是视图名称,但实际上会生成新请求. (2认同)