3

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 ページへのリダイレクトは発生しません。どんな助けでも大歓迎です。

4

1 に答える 1

4

あなたのコメントによると、これを試してください:

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();
于 2014-10-29T21:42:48.793 に答える