我将旧的JSF Web应用程序从MyFaces 1.1升级到MyFaces 2.2.12,主要使用Migrating from JSF 1.2 to JSF 2.0作为指南。
使用Migrating JSF 1.1 with Ajax4jsf 1.x to JSF 2作为另一个指南,我还尝试将a4j:keepAlive
次出现替换为相应的bean添加@ViewScope
注释。到目前为止,我们的应用程序中的bean通过faces-config.xml
进行管理,其条目如下:
<managed-bean>
<managed-bean-name>SomeBean</managed-bean-name>
<managed-bean-class>org.some.package.SomeBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
我也尝试按照this这样的建议来尽可能多地替换faces-config.xml
。但是当我添加像这样的bean和范围注释时
@ManagedBean
@ViewScoped
public class SomeBean () {
...
到我的bean类,然后在Web应用程序中遇到一个无关的错误,MyFaces错误调试页面向我显示SomeBean
仍然是会话作用域,而不是视图作用域。
我还没有从managed-bean
文件中删除相应的faces-config
条目,所以我想知道该配置文件中的设置是否覆盖了Java文件中的任何相应注释。是这样的吗?