javax.faces.STATE_SAVING_METHOD可序列化的



我有一个JSF和Spring集成的应用程序。我的帐户支持Bean类是具有范围会话的,它是可序列化的[如这里所建议的]。在我的web.xml javax.faces。STATE_SAVING_METHOD的值为"server"。这里一切都还好。

[我有支持bean,服务类和DAO类的层]

当我改变javax.faces的值时。STATE_SAVING_METHOD向` client `抛出异常` java.io。NotSerializableException '指向我的服务类。如果我将服务类设置为Serializable,那么' java.io. js。NotSerializableException指向我的DAO类。如果我将DAO类设置为可序列化的,则应用程序将正常工作。

然而,我认为使服务类和DAO类可序列化并不是一个好方法。

征求专家意见

您应该在您的帐户支持bean中将您的服务标记为瞬态。这可以防止序列化。

的例子:

@RequestScoped
public class AccountBackingBean {
 @EJB
 private transient MyService myService;
 private String someValue;
}

参见:

  • 关键字"transient"在Java中是什么意思?[关闭]
  • JSF 2.0中的STATE_SAVING_METHOD参数是什么为什么JSF在服务器上保存UI组件的状态?

相关内容

  • 没有找到相关文章

最新更新