2011-03-30 140 views
0

我剛剛發現在pages.xml中必需屬性:required = true頁面參數不起作用?

<page view-id="/competition-list.xhtml"> 
    <param name="season" value="#{seasonHome.id}" converterId="javax.faces.Integer" validator="#{startYearValidator}" required="true" /> 
</page> 

然而,當手動刪除參數從URL中什麼也沒有發生,那就是仍然執行查詢(儘管它不返回元素) ,我沒有想到。

我在做什麼錯?

回答

0

頁面參數驗證會影響頁面操作的執行。當驗證失敗時,不執行頁面操作並添加FacesMessage

也許你想添加頁面操作,以便不執行查詢加載比賽時season參數無效:

<page view-id="/competition-list.xhtml" 
     action="#{seasonHome.loadCompetitions}"> 
    <param name="season" 
     value="#{seasonHome.id}" 
     converterId="javax.faces.Integer" 
     validator="#{startYearValidator}" 
     required="true" /> 
</page>