Java 在JSF中;saveState();方法被调用了两次。为什么?

Java 在JSF中;saveState();方法被调用了两次。为什么?,java,jsf,components,Java,Jsf,Components,我放了两条输出语句,一条在“save()”的开头,另一条在自定义JSF组件的结尾。“saveState()”位于UIComponent对象中。为什么我的输出语句要打印两次?基本上这就是我所看到的 "entering save" "ending save" "entering save" "ending save" 谢谢。看起来jsf的一个阶段调用了两次。试试看 是否涉及重定向?在两个不同的阶段调用该方法。当您从控制器调用昂贵的操作时,请确保检查相位并仅调用合适的相位。例如,您希望在渲染响应阶段

我放了两条输出语句,一条在“save()”的开头,另一条在自定义JSF组件的结尾。“saveState()”位于UIComponent对象中。为什么我的输出语句要打印两次?基本上这就是我所看到的

"entering save"
"ending save"
"entering save"
"ending save"

谢谢。

看起来jsf的一个阶段调用了两次。试试看

是否涉及重定向?

在两个不同的阶段调用该方法。当您从控制器调用昂贵的操作时,请确保检查相位并仅调用合适的相位。例如,您希望在渲染响应阶段调用加载方法。

可能有两个线程执行相同的打印。 设置一个断点,您将看到:D