我有以下代码用于根据url参数初始化bean值。
<f:metadata>
<f:viewParam name="id" value="#{inningBean.inningId}" />
<f:event type="preRenderView"
listener="#{inningBean.initInningBeanForBallByBallScoring}" />
</f:metadata>
这很好用。但我希望在某些情况下(例如某些验证),用户将从侦听器方法重定向到另一个页面。
我该怎么做?
答案 0 :(得分:4)
public void initInningBeanForBallByBallScoring() throws IOException {
// ...
if (someCondition) {
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.redirect(ec.getRequestContextPath() + "/other.xhtml");
}
}