2013-01-25 47 views
1

當我使用return "error.html?faces-redirect=true"時,它將重定向到error.xhtml,而不是error.html.How我可以重定向到ManagedBean中的html當我String我該如何重定向jsf中的html?

+0

在http://stackoverflow.com/a/12405317/757071 – 757071

+0

描述另見確保您已經配置好了一切:http://stackoverflow.com/a/3311721/757071 – 757071

回答

5

導航案例結果視爲JSF視圖。所以它總是期待一個JSF視圖。如果因爲某些不明原因(請記住,您可以安全地在Facelets頁面中使用純HTML)將error.html更改爲error.xhtml是不可能的,那麼您需要使用ExternalContext#redirect()發送重定向到非JSF資源本人

public void someAction() throws IOException { 
    // ... 

    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext(); 
    ec.redirect(ec.getRequestContextPath() + "/error.html"); 
}