这个问题与这个问题密切相关(已回答)。
在我的整个项目中,我使用 JSF 命令按钮在屏幕之间导航,其中 action 属性将指向一个返回字符串的函数。该字符串是新屏幕的名称,例如
<h:commandButton value="Select" action="#{searchResultsBundledBean.selectFlight}">
</h:commandButton>
selectFlight
将返回一个字符串,例如selected-flight-review
将用户定向到selected-flight-review.xhtml
出于移动目的,我必须panelGrid
使用 ajax 调用进行可点击,例如
<h:panelGrid>
<f:ajax event="click" listener="#{searchResultsBundledBean.clickFlight(lowFareBundledSearchItem)}"/>
</h:panelGrid
这行得通,我已经对其进行了测试,并返回了正确的结果(在返回之前通过记录它进行了测试)
但是,不会发生重定向。ajax 调用还没有做到这一点。如何让它重定向到另一个屏幕?我不必发送任何变量,我只需要显示新屏幕。我应该使用 ajax 以外的东西(我不想这样做),还是有什么方法可以让这项工作像现在这样工作?