Spring MVC 3:拦截器返回错误的视图


问题内容

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

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

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

如果用户没有访问权限,如何显示自定义页面?现在,如果它为假,它只会显示一个空白页面,这对用户体验不利。


问题答案:

看起来您可以执行响应重定向而无需点击servlet。以下作品:

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