Java JSF:view beforePhase在我离开页面时多次触发
仍然试图解决我在JSF中页面加载程序疯狂启动的问题> 通过此链接: 看起来,如果我放一个按钮,它将在进入页面时触发一次Java JSF:view beforePhase在我离开页面时多次触发,java,jsf,Java,Jsf,仍然试图解决我在JSF中页面加载程序疯狂启动的问题> 通过此链接: 看起来,如果我放一个按钮,它将在进入页面时触发一次 然而,当离开页面时,它会触发4次,这有点违背了要点。有什么想法吗?只要相位发生变化,它就会“触发”。例如,通过添加一个条件,将event.getPhaseId()与PhaseId.RESTORE\u视图进行比较,可以使阶段侦听器中的代码仅在某些阶段被触发。它会在阶段更改时“激发”。例如,通过添加一个比较event.getPhaseId()与PhaseId.RESTORE\u V
然而,当离开页面时,它会触发4次,这有点违背了要点。有什么想法吗?只要相位发生变化,它就会“触发”。例如,通过添加一个条件,将
event.getPhaseId()
与PhaseId.RESTORE\u视图
进行比较,可以使阶段侦听器中的代码仅在某些阶段被触发。它会在阶段更改时“激发”。例如,通过添加一个比较event.getPhaseId()
与PhaseId.RESTORE\u VIEW
的条件,您可以使阶段侦听器中的代码仅在某些阶段被触发。谢谢,我终于被它绊倒了。这是漫长的一天。更推荐的做法是,让实现的getPhaseId()
方法返回PhaseId.RESTORE\u视图
。这样,beforePhase()
和afterPhase()
只会在特定阶段执行。@BalusC-这是我最初的答案,但后来我看到他指的是哦,我一秒钟也没想到!是的,检查方法中的PhaseId
确实是一种方法。谢谢,我终于被它绊倒了。这是漫长的一天。更推荐的做法是,让实现的getPhaseId()
方法返回PhaseId.RESTORE\u视图
。这样,beforePhase()
和afterPhase()
只会在特定阶段执行。@BalusC-这是我最初的答案,但后来我看到他指的是哦,我一秒钟也没想到!是的,检查方法中的PhaseId
,确实是一种方法。