Sky*_*ger 10 ajax jsf redirect
这个问题是密切相关的这一个(已回答).
在整个项目中,我使用JSF命令按钮在屏幕之间导航,其中action属性指向返回字符串的函数.字符串是新屏幕的名称,例如
<h:commandButton value="Select" action="#{searchResultsBundledBean.selectFlight}">
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)
selectFlight将返回一个字符串,例如selected-flight-review,它将指导用户selected-flight-review.xhtml
出于移动目的,我必须panelGrid使用ajax调用进行可点击,例如
<h:panelGrid>
<f:ajax event="click" listener="#{searchResultsBundledBean.clickFlight(lowFareBundledSearchItem)}"/>
</h:panelGrid
Run Code Online (Sandbox Code Playgroud)
这是有效的,我已经测试过,并且返回了正确的结果(在返回之前进行了测试)
但是,不会发生重定向.ajax调用尚未执行此操作.如何将其重定向到另一个屏幕?我不需要通过任何变量发送,我只需要显示新的屏幕.我应该使用除ajax以外的东西(我不愿意),还是有某种方法可以按照现在的方式使用它?
Joh*_*dli 20
您可以重定向支持bean的响应:
public void clickFlight(Item lowFareBundledSearchItem) throws IOException {
// ...
FacesContext.getCurrentInstance().getExternalContext().redirect("selected-flight-review.xhtml");
FacesContext.getCurrentInstance().responseComplete();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11256 次 |
| 最近记录: |