Im使用Mojarra 2.1.3,Netbeans 7.0.1,primefaces 3.2。JSF2.0 State_Saving_Method客户端问题
我目前处于困境是否使用STATE_SAVING_METHOD客户端或服务器。目前我将保存方法设置为客户端。这涉及到我对许多对象的可缩放性进行调整。并将暂态关键字放在无状态的外观会话bean上。
@ManagedBean
@ViewScoped
public class SaProductController implements Serializable {
@EJB
transient SaProductFacade saProductFacade;
@EJB
transient SaKeywordFacade saKeywordFacade;
....
我的xhtml页面有一个带有分页的primefaces数据表。第一次通过显示数据表中的第一页来加载它工作的页面。但是,在点击下一页时,这行会引发NullPointerException错误。
data = saProductFacade.selectAll(first, pageSize);
这是为什么?是否因为saProductFacade @EJB属性被声明为transient,并且在回发到同一页面时被销毁。无论如何,ViewScoped托管bean仍然活着。请帮忙,如何解决这个问题?还是我做错了?
有关信息,如果将STATE_SAVING_METHOD设置为服务器,则此功能完美。但浏览器后退按钮的危险使我决定去客户端状态保存选项。此外,服务器上的内存限制也保证了客户端状态保存。