2012-02-22 65 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