我刚刚在pages.xml中发现了一个必需的属性:
<page view-id="/competition-list.xhtml">
<param name="season" value="#{seasonHome.id}" converterId="javax.faces.Integer" validator="#{startYearValidator}" required="true" />
</page>
但是,当从URL手动删除参数时,没有任何反应,即查询仍然执行(虽然它不返回任何元素),这是我没想到的。
我做错了什么?
答案 0 :(得分: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>