Fer*_*ndo 1 jsf constructor javabeans
我的应用程序中有一个@ManagedBean,带有@sessionScoped anotation.
问题是为每个请求调用public no arg构造函数,因此我的字段被重置,我的模型逻辑进入空间.
我尝试构建并清理,重置glassFish,但仍然在每次请求时调用bean构造函数.我还有一个faces-config.xml来控制页面导航.
我可以通过在faces-config中重新声明bean来解决这个问题,现在它可以工作了......
有关为什么会发生这种情况的任何想法?如果我删除faces-config,问题仍然存在.
谢谢大家!
如果@SessionScoped不是javax.faces.bean软件包,可能会发生这种情况,而不是完全不同的API,例如javax.enterprise.context软件包.双击您的导入并小心IDE自动完成.IDE倾向于按包名对自动建议进行排序,因此javax.enterprise.context它将显示为第一选项.
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class Bean {
    // ...
}
如果你没有javax.faces.bean在a上使用任何范围注释@ManagedBean,那么bean将默认为@NoneScoped,这意味着它是在每个#{bean}EL评估上构建的.
| 归档时间: | 
 | 
| 查看次数: | 1908 次 | 
| 最近记录: |