Tag: icefaces 1.8

JSF 1.2生命周期理解:在InvokeApplication阶段执行ValueChangeListener方法

我在DataTable的facet头中使用 。 该 DataTable的所有行内容都是 。 行按照我想要的方式完美选择。 以下是我使用的代码: …… …… …… 这是ValueChangeListener的代码: public void checkAll(ValueChangeEvent event){ if(isInvokeApplicationPhase(event)){ Iterator empl = employeeList.iterator(); while(empl.hasNext()){ Employee emp = empl.next(); emp.setChecked(checkedHdr); } } } 这是我为使这段代码工作而添加的isInvokeApplicationPhase实用程序(在此链接中引用了BalusC建议的解决方案: JSF 1.2:valueChangeListener事件未返回新选择的值 ): public boolean isInvokeApplicationPhase(FacesEvent event){ if(event.getPhaseId() != PhaseId.INVOKE_APPLICATION){ event.setPhaseId(PhaseId.INVOKE_APPLICATION); event.queue(); return false; } return true; } 现在我的问题: 在ValueChangeListener方法中使用isInvokeApplicationPhase检查有什么用? 如果我评论这个检查然后它不起作用 – 为什么? 我以为我已经正确理解了JSF生命周期,但这种行为certificate我没有:( 请让我知道基于JSF生命周期阶段的解释。