Jsf 2 如何在jsf中从bean抛出404

Jsf 2 如何在jsf中从bean抛出404,jsf-2,http-response-codes,Jsf 2,Http Response Codes,我需要抛出404并将访问者带到特定页面。我正在使用以下代码进行尝试: FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); externalContext.setResponseStat

我需要抛出404并将访问者带到特定页面。我正在使用以下代码进行尝试:

            FacesContext facesContext = FacesContext.getCurrentInstance();
            ExternalContext externalContext = facesContext.getExternalContext();                
            externalContext.setResponseStatus(HttpServletResponse.SC_NOT_FOUND);
            externalContext.setResponseHeader(Common.LOCATION, "browse_by_category.xhtml?category=CATEGORY_ALL");
            facesContext.responseComplete();
404发生,但不会重定向到browse_by_category.xhtml页面。
非常感谢您的帮助。

根据您的评论,请尝试以下内容:

FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();                
        externalContext.setResponseStatus(HttpServletResponse.SC_NOT_FOUND);
        //externalContext.setResponseHeader(Common.LOCATION, "browse_by_category.xhtml?category=CATEGORY_ALL");
        externalContext.dispatch("browse_by_category.xhtml");
        facesContext.responseComplete();

是的,这确实有效。只想确认404号是否会以发还的方式返回?是的,如果你能用Chrome控制台验证,请考虑接受回答,谢谢。