我有以下代码用于根据 url 参数初始化 bean 值。
<f:metadata>
<f:viewParam name="id" value="#{inningBean.inningId}" />
<f:event type="preRenderView"
listener="#{inningBean.initInningBeanForBallByBallScoring}" />
</f:metadata>
这工作正常。但我希望在某些条件下(例如某些验证),用户从监听器方法重定向到另一个页面。
我怎样才能做到这一点?
最佳答案
使用 ExternalContext#redirect()
。
public void initInningBeanForBallByBallScoring() throws IOException {
// ...
if (someCondition) {
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.redirect(ec.getRequestContextPath() + "/other.xhtml");
}
}
关于jsf - 将用户从 f :event listener method 重定向到不同的页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10582441/