導航規則設定
在jsf中是根據faces-config.xml中設定,以決定在符合的條件成立時,該鏈結至哪乙個頁面,乙個基本的設定如下:
....
/pages/index.jsp
case>
success
/pages/welcome.jsp
case>
case>
failure
/pages/index.jsp
case>
....
對於jsf,每乙個檢視(view)都有乙個獨特的識別(identifier),稱之為view id,在jsf中的view id是從web應用程式的環境相對路徑開始計算,設定時都是以/作為開頭,如果您請求時的路徑是/pages/index.faces,則jsf會將副檔名改為/pages/index.jsp,以此作為view-id。
在中的是個選擇性的定義,它規定了**頁面的條件,中定義各種導覽條件,定義當窗體結果符合的條件時,各自改導向哪乙個目的頁面,目的頁面是在中定義。
您還可以在中加入,進一步規範窗體結果必須根據哪乙個動作方法(action method),當中是使用 jsf expression language 來設定,例如:
....
/pages/index.jsp
case>
#success
/pages/welcome.jsp
case>
....
....
在導航時,預設都是使用forward的方式,您可以在中加入乙個,讓jsf發出讓瀏覽器重新導向(redirect)的header,讓瀏覽器主動要求新網頁,例如:
....
/pages/index.jsp
case>
success
/pages/welcome.jsp
case>
....
....
....
/admin/*
case>
#success
/pages/welcome.jsp
case>
....
....
在上面的設定中,只要**網頁是從/admin來的,都可以開始測試接下來的。
....
/*case>
....
....
或者是這樣:
....
*case>
....
....