我需要一些帮助:
我使用bean以简单的方法注销页面
public class MyBean extends LoginBean{
...
public String doLogout () throws Exception
{
...
((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).logout();
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
return null;
}
}
bean的LoginBean是扩展的,我在MyBean中覆盖了方法doLogout(基本上它们都是相同的代码)。 但是当打电话给下面的按钮时
<p:commandButton action="#{myBean.doLogout()}" ajax="false" />
调试转到LoginBean.doLogout()...
为什么呢?
谢谢你的帮助,伙计们。
答案 0 :(得分:0)
好吧,我解决了创建课程MyPhaseListener
扩展PhaseListener
并覆盖某些阶段的问题,但我不知道为什么我需要制作这个......
public class MyPhaseListener implements PhaseListener{
@Override
public void afterPhase (PhaseEvent event)
{
...
}
@Override
public void beforePhase (PhaseEvent event)
{
...
}
}
如果有人解释为什么这是必要的,我将不胜感激。