点击按钮报错,按钮绑定了Manged Bean中的方法,方法对应Model层中的一些逻辑。
具体的错误信息如下:
SEVERE: Managed bean xxx_bean could not be created
The scope of the referenced object: '#{bindings}' is shorter than the referring object
处理方案:
因为在binding container中的绑定对象是request scope的,所以需要修改managed bean的scope,不要大于request,也就是不能是session、application。
异常的产生与Object的lifespan有关,Binding container和binding container包含的绑定对象是session scope的;然而,绑定对象对应的值只是request scope的。
参考:
By default, thebinding containerand thebinding objects it containsare defined in session scope. However,the values referenced by value bindings and iterator bindingsare undefined between requests and for scalability reasons do not remain in session scope. Therefore,the values that binding objects refer toare valid only during arequestin which that binding container has been prepared by the ADF lifecycle. What stays in session scope are only the binding container and binding objects themselves.