<navigation-rule>
<from-view-id>/FacilityEdit.xhtml</from-view-id> #1
<navigation-case>
<from-action>#{facilityHome.persist}</from-action> #2
<from-outcome>persisted</from-outcome> #3
<to-view-id>/Facility.xhtml</to-view-id> #4
<redirect/> #4
</navigation-case>
</navigation-rule>
- 当前发起action的页面
- 发起页面提交的el表达式方法
- 返回值
- 要渲染的下一页及是否重定向
<page view-id="/FacilityEdit.xhtml">
<navigation from-action="#{facilityHome.persist}">
<rule if-outcome="persisted"
if="#{facilityHome.addCourse}"> #1
Licensed to Jaroslaw Gilewski <jgilewski@unizeto.pl>
<redirect view-id="/CourseEdit.xhtml"/>
<param name="courseFrom" value="Facility"/> #2
<message severity="INFO">
Please enter course information for
#{facilityHome.instance.name}. #3
</message>
</redirect>
</rule>
<rule if-outcome="persisted"
if="#{!facilityHome.addCourse}"> #4
<redirect view-id="/Facility.xhtml"/>
</rule>
</navigation>
</page>
- 检查是否想加课程, 一个表单上的checkbox?
- 开始
- 传递消息
- 不想加课程
<page view-id="/FacilityList.xhtml">
<param name="firstResult" value="#{facilityList.firstResult}"/>
<param name="order" value="#{facilityList.order}"/>
<param name="from"/>
<param name="name" value="#{facilityList.facility.name}"/>
Licensed to Jaroslaw Gilewski <jgilewski@unizeto.pl>
<param name="type" value="#{facilityList.facility.type}"/>
<param name="address" value="#{facilityList.facility.address}"/>
<param name="city" value="#{facilityList.facility.city}"/>
<param name="state" value="#{facilityList.facility.state}"/>
<param name="zip" value="#{facilityList.facility.zip}"/>
<param name="county" value="#{facilityList.facility.county}"/>
<param name="country" value="#{facilityList.facility.country}"/>
<param name="phone" value="#{facilityList.facility.phone}"/>
<param name="uri" value="#{facilityList.facility.uri}"/>
<param name="description"
value="#{facilityList.facility.description}"/>
</page>
传递到后台做为query的参数
<page view-id="/FacilityList.xhtml">
...
<param name="state" value="#{facilityList.facility.state}"
validatorId="org.open18.StateValidator"/>
<param name="type" value="#{facilityList.facility.type}"
validator="#{facilityTypeValidator}"/>
...
</page>
在页面参数里加验证
JSF导航案例解析
本文解析了JSF中具体的导航案例,包括从编辑设施页面跳转到其他页面的过程,涉及不同场景下的页面重定向和参数传递,展示了如何通过EL表达式进行条件判断并触发相应导航。
2153

被折叠的 条评论
为什么被折叠?



