我目前正在将一个项目从JBoss 4.2.2迁移到JBoss 6.0.0,我还在使用CDI添加依赖注入,并从JSF 1.2迁移到JSF 2.0.我将一个beans.xml文件添加到ejb-package以及war-package中.
现在我有一个使用托管bean的xhtml页面LoginBean.java.已经在faces-config.xml中配置了bean,如下所示:
<managed-bean>
<description>Sample description</description>
<managed-bean-name>loginBean</managed-bean-name>
<managed-bean-class>com.sample.managedbeans.LoginBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Run Code Online (Sandbox Code Playgroud)
所以,首先我删除了上面的配置并添加@ManagedBean @SessionScoped到类本身.因为我想CDI添加到项目中,我改变了@ManagedBean对@Named(与质疑2930889).
现在,当我提交相应xhtml的表单时,字段username和password(在JSP中使用#{loginBean.username})为null.当我改回来时@ManagedBean,它工作正常.
我在这里错过了什么吗?
亲切的问候,塞巴斯蒂安
@SessionScoped现在在ee6 中实际上有两个注释,@javax.faces.bean.SessionScoped它们来自jsf 2规范,只能与cdi 一起使用@ManagedBean,然后才能使用@javax.enterprise.context.SessionScopedcdi.我的猜测是你正在使用jsf注释,cdi会忽略它,因此cdi会创建一个新的bean实例.
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |