我正在使用 MyFaces JSF 2.0,其中我替换了 faces-config
<managed-bean>
<managed-bean-name>myBean</managed-bean-name>
<managed-bean-class>com.myBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
with
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class MyBean implements Serializable {
我遇到的错误如下。如果我恢复 faces-config 更改,它会起作用。我做错了什么?
0000008e FaceletViewDe E Error Rendering View[/test.xhtml]
javax.faces.FacesException: Property facesContext references object in a scope with shorter lifetime than the target scope session
at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:324)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:169)
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:303)
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:266)