我编写了2个selectOneMenus,它将访问相同的“update”bean例程。该bean有一个@RequestScoped注释。这是我原帖的链接: JSF 2.1 SelectOneMenu toggling automatically to init values
然而,当我发现selectOneMenu切换到init构造函数值时,根据帖子上的一个配合的建议,我将bean更改为具有@ViewScoped注释并实现Serializable接口。这很有效。但作为我的代码的下一步,我不得不调用一个EJB,它将调用实体管理器来检索将在selectOneMenu中填充的数据。所以我扩展了我的代码以添加@EJB注释并导致
java.io.NotSerializableException: bean.__EJB31_Generated__
我该如何解决这个问题?当我将myBean返回到RequestScoped(使用EJB)并删除Serializable时,我可以毫无问题地运行代码,然后selectOneMenu显示将菜单切换为init值。所有这一切都在国家保存方法设置为客户端。
顺便说一下,我查看了这篇文章:@EJB in @ViewScoped managed bean causes java.io.NotSerializableException并将我的STATE SAVING METHOD设置为服务器,但这给了我“来自服务器的强制响应”弹出消息。