JSF 2.0@ViewScope正在丢失数据

JSF 2.0@ViewScope正在丢失数据,jsf,jsf-2,richfaces,myfaces,Jsf,Jsf 2,Richfaces,Myfaces,主要的情况是,我有一个@viewscope,它可以作为@requestscope 在Atm中,我有一个视图,其中包含一个项目列表,后面有一个@RequestScope bean。当我想更新其中一个项目时,我会导航到后面有@viewscope的视图 当我从这个视图发布帖子时,我返回列表视图,@ViewScoped被销毁。到目前为止,一切顺利 问题是,当我使用@ViewScoped bean更新视图时,该bean的所有属性都为null。它看起来像一个@RequestScope。 我还有一个@Post

主要的情况是,我有一个@viewscope,它可以作为@requestscope

在Atm中,我有一个视图,其中包含一个项目列表,后面有一个@RequestScope bean。当我想更新其中一个项目时,我会导航到后面有@viewscope的视图

当我从这个视图发布帖子时,我返回列表视图,@ViewScoped被销毁。到目前为止,一切顺利

问题是,当我使用@ViewScoped bean更新视图时,该bean的所有属性都为null。它看起来像一个@RequestScope。 我还有一个@PostConstruct方法,它每次都被调用,但它不应该被调用

在带有@ViewScoped的视图中,我在所有代码中使用了以下标记:h:selectOneMenu、rich:fileUpload、a4j:repeat、a4j:ajax、h:commandLink

我没有把完整的代码,因为这是一个大的形式,我有

我不知道发生了什么,因为这以前没有发生过。如果需要更多信息,请询问

问候

编辑:

当我执行一个生成post的方法(它将项目的数据保存在DB上)时,bean拥有所有数据。但是当我想从中获取数据时,bean是空的

例如:

<h:outputLabel value="#{locale.link}:" />
                <h:inputText value="#{newsBean.newsLink}"
                    disabled="#{not newsBean.editPage}" />
                <h:link value="#{newsBean.newsLink}" target="_blank"/>


当我按下链接时,bean是空的,因此我得到指向“news”项的空指针。

相关:您是否检查了视图范围bean的所有有问题的标记?您所说的“当我更新视图时”是什么意思?在页面中使用ajax,在ajax方法调用bean之后重新构造bean?也许您可以展示一些ajax调用的片段,这样我们可以看一下。另外,ManagedBean和ViewScope类的导入是否正常?@partlov:i正在使用ui:composition,看起来不适用于此。它应该可以工作,除非您有ui:composition、ui:include或ui:detain的一些el-in属性