Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在命令按钮上使用 immediate="true" 时,确实会在应用请求值阶段调用该操作,并跳过所有剩余阶段。记住这一点,我想知道它何时被调用。在应用请求值阶段之前还是之后?
一旦应用请求值阶段完成(即,已在树中的所有组件上调用了解码方法),UIViewRoot 就会广播在其上排队的事件,其中之一是由命令按钮排队的 Action 事件。
这发生在为应用请求值阶段调用任何阶段后阶段侦听器之前。
您可以使用简单的 PhaseListener 来查看它。如果您有 immediate="true",则在 APPLY_REQUEST_VALUES 阶段调用操作方法,因此在“beforePhase”和“afterPhase”之间