0
我正在使用ICEfaces處理JSF和Hibernate Web應用程序。我使用了兩個Facelets模板,一個用於登錄頁面,另一個用於網站的其他部分。如何在登錄後更改URL和模板頁面?
問題是,當我點擊登錄按鈕時,它會轉到主頁,但不更改網址或模板。當我輸入正確的URL時,它會顯示正確的模板。
我知道ICEfaces使用Ajax並部分更新頁面,但我想知道如何停止,我希望它加載整個請求的頁面。
我正在使用ICEfaces處理JSF和Hibernate Web應用程序。我使用了兩個Facelets模板,一個用於登錄頁面,另一個用於網站的其他部分。如何在登錄後更改URL和模板頁面?
問題是,當我點擊登錄按鈕時,它會轉到主頁,但不更改網址或模板。當我輸入正確的URL時,它會顯示正確的模板。
我知道ICEfaces使用Ajax並部分更新頁面,但我想知道如何停止,我希望它加載整個請求的頁面。
只需在登錄後發送重定向。您可以通過在導航結果中附加faces-redirect=true
請求參數來實現此目的。
public String login() {
// ...
return "home?faces-redirect-true";
}
或者,如果你仍然在使用faces-config.xml
古JSF 1.x中與<navigation-case>
s,則可以實現所討論加入<redirect />
到<navigation-case>
相同。
<naviagation-case>
<from-outcome>home</from-outcome>
<to-view-id>/home.jsf</to-view-id>
<redirect />
</navigation-case>
好的我做你說的但沒有發生 – 2012-02-23 13:17:00
你正在使用哪個JSF和ICEfaces版本? – BalusC 2012-02-23 13:17:56
這就是我做的公共字符串validateUser()拋出異常{ String page =「」; (help.getUser(username,password).isEmpty()){ setInvalidMessage(「Invalid User Name or Password」); page =「index.xhtml」;如果(userdata.getUserstype().getTypeId()== 1){ } else { – 2012-02-23 13:27:20