点击按钮报错,按钮绑定了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, the binding container and the binding objects it contains are defined in session scope. However, the values referenced by value bindings and iterator bindings are undefined between requests and for scalability reasons do not remain in session scope. Therefore, the values that binding objects refer to are valid only during a request in 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.
本文解决了一个关于JSF页面点击按钮后出现的Managedbean创建失败的问题。错误的原因在于Managedbean的作用域设置不当,导致与绑定容器的生命周期不匹配。文章详细介绍了如何调整Managedbean的作用域以确保与请求作用域保持一致。
1590

被折叠的 条评论
为什么被折叠?



