JSF 2.0 Navigation
在JSF 1.X 中使用導(dǎo)航需要在faces-config.xml 加入這樣的代碼:
<navigation-rule>
<navigation-case>
<from-view-id>/pages/login.xhtml</from-view-id>
<outcome>main</outcome>
<to-view-id>/pages/main.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-case>
<from-view-id>/pages/login.xhtml</from-view-id>
<outcome>main</outcome>
<to-view-id>/pages/main.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
在JSF 2 中完全可以不用配置。
<h:commandButton id="loginButton"
value="#{msgs.loginButtonText}" action="main"/>
value="#{msgs.loginButtonText}" action="main"/>
點(diǎn)擊按鈕會(huì)轉(zhuǎn)到main.xhtml,JSF 會(huì)在當(dāng)前目錄中查找main.xhtml。
也可以使用絕對(duì)地址:
<h:commandButton id="loginButton"
value="#{msgs.loginButtonText}"
action="/pages/main"/>
value="#{msgs.loginButtonText}"
action="/pages/main"/>
默認(rèn)情況下JSF 會(huì)從一頁(yè)面forwards到另一個(gè)頁(yè)面。也可以使用redirect轉(zhuǎn)到另一個(gè)頁(yè)面。
<h:commandButton id="loginButton"
value="#{msgs.loginButtonText}"
action="/pages/main?faces-redirect=true"/>
value="#{msgs.loginButtonText}"
action="/pages/main?faces-redirect=true"/>
相比 JSF1.2 要簡(jiǎn)單得多!