我正在尝试将会话范围的 JSF 托管 bean 转换为视图范围。但是,当我尝试访问此 bean 的 xhtml 页面时,出现以下错误:
java.io.NotSerializableException: foo.bar.SomeDaoClass
我有一个助手 DAO 的成员,我用它来委派 bean 中与持久性相关的任务。如果我让这个 DAO 类实现 Serializable,那么其他 UIComponent 引用就会开始导致同样的错误!
主要用例是我有一个点击链接,我打开一个 jquery 灯箱弹出窗口,显示由会话 bean 支持的 xhtml 页面。当用户单击弹出表单上的提交按钮时,我以编程方式删除会话 bean。问题是,如果用户单击弹出窗口本身的关闭按钮,然后单击指向另一个 id 的另一个链接,则会显示相同的值(会话范围)!
我想在弹出窗口中查看此表单时使用视图范围来保留值,并且当用户单击弹出窗口的关闭按钮时,这些值可能会被丢弃。