【发布时间】:2012-11-09 23:32:53
【问题描述】:
我在我的 JSF 应用程序中将上下文参数 javax.faces.STATE_SAVING_METHOD 从 server 更改为 client,但现在我得到了:
java.io.NotSerializableException: javax.faces.component.html.HtmlInputHidden
这会破坏视图渲染。
由于HtmlInputHidden来自第三方jar,我自己无法实现。
有没有办法解决这个问题?
【问题讨论】:
-
为什么组件一开始就处于你的视图状态?这似乎是错误的,组件树应该根据视图状态和模板重建,而不是反序列化。
-
@millimoose,对不起,我不明白你的问题。
-
我想说的是
HtmlInputHidden(或任何其他组件实现)首先确实没有被序列化的业务,因此根本不需要Serializable。在 JSF 中,整个组件不是直接序列化的;您只需序列化它们的一部分状态 - 从包装在Serializable对象中的saveState()方法返回。所以我会尝试戳代码/调试器,看看你是否能找出为什么HtmlInputHidden实例甚至被序列化。
标签: java jsf-2 serializable