<f:metadata>
<f:event listener="#{myControler.dispatch}" type="preRenderView" />
</f:metadata>
在这个函数中,我可以检查权限,做其他事情,在某些情况下,我想将用户重定向到一个新页面(不是另一个视图)。
我尝试了几种方法,但都没有成功。
具体来说,我认为这种方法会起作用:
getFacesContext().getExternalContext().redirect(url);
getFacesContext().responseComplete()
// => Can only redirect during ACTION_PHASE
这个错误是逻辑上的,但有没有解决方法来强制重定向?它可以在另一个函数中实现,称为otherwise,我只需要Hibernate Session(在Render阶段开始时设置)。
你有解决这个问题的想法吗?
谢谢!
PS:
<redirect />
或?faces-redirect
在门户中不起作用。