2012-02-22 106 views
0

我正在使用ICEfaces處理JSF和Hibernate Web應用程序。我使用了兩個Facelets模板,一個用於登錄頁面,另一個用於網站的其他部分。如何在登錄後更改URL和模板頁面?

問題是,當我點擊登錄按鈕時,它會轉到主頁,但不更改網址或模板。當我輸入正確的URL時,它會顯示正確的模板。

我知道ICEfaces使用Ajax並部分更新頁面,但我想知道如何停止,我希望它加載整個請求的頁面。

回答

1

只需在登錄後發送重定向。您可以通過在導航結果中附加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> 
+0

好的我做你說的但沒有發生 – 2012-02-23 13:17:00

+0

你正在使用哪個JSF和ICEfaces版本? – BalusC 2012-02-23 13:17:56

+0

這就是我做的公共字符串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