How to throw 404 from bean in jsf

2020-04-14 09:19发布

I need to throw 404 and take visitor to a specific page. I am trying with following code:

            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 happens but redirection to the browse_by_category.xhtml page does not happen. Any help will be greatly appreciated.

1条回答
欢心
2楼-- · 2020-04-14 09:45

According to your comment please try this:

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();
查看更多
登录 后发表回答