JSF iminstantte=true,在应用请求值阶段之前或之后调用的操作



在命令按钮上使用 immediate="true",确实会在应用请求值阶段调用该操作,并且跳过所有剩余阶段。记住这一点,我想知道它究竟是什么时候被调用的。在应用请求值阶段之前还是之后?

一旦应用请求值阶段完成(即已在树中的所有组件上调用解码方法),UIViewRoot 将广播在其上排队的事件,其中一个是由命令按钮排队的 Action 事件。

这发生在为应用请求值阶段调用任何后期阶段侦听器之前。

你可以用简单的PhaseListener看到它。如果您有 immediate="true",则在APPLY_REQUEST_VALUES阶段调用操作方法,因此在"beforePhase"和"afterPhase"之间

最新更新