我现在也遇到导航问题。我有2个dataTable,一个位于常规facelets页面内,另一个位于对话框中。 两者都有相同的代码:
<p:commandButton
value="Show car"
ajax="false"
action="showCar?faces-redirect=true">
<f:setPropertyActionListener value="#{car}" target="#{carBean.car}" />
</p:commandButton>
我也试过添加process =“@ this”但没有成功。
问题是,虽然导航适用于facelets页面内的commandButton,但它对于对话框内的按钮不起作用。似乎在点击后重新加载当前页面。 用a代替它也无济于事。
以前有人经历过这样的事吗?这可能是对话框的问题吗?
谢谢和最诚挚的问候, 罗伯特
答案 0 :(得分:0)
忘记我之前的回答,我没有仔细阅读你的问题。可能发生的事情是<f:setPropertyActionListener>
电话失败。如果它(无声地)失败,那么错误将导致JSF自动导航回同一页面。
将其添加到您的页面某处,以便您可以看到框架可能提供的任何有用的错误FacesMessages:
<p:messages
id="messagesForDebugging"
showDetail="true"
autoUpdate="true" />
autoUpdate
将导致它闪烁全局Ajax请求生成的消息。
您可能还希望在carBean.setCar()
方法中添加日志记录语句,以确保它成功设置了值。如果失败,那么您可能需要为Car
值提供自定义转换器吗?