在JSF中,“saveState()”方法被调用两次。为什么?

时间:2010-02-24 01:07:56

标签: java jsf components

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

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

感谢。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

看起来其中一个jsf阶段被调用了两次。试试debug your app
是否涉及重定向?

答案 2 :(得分:0)

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