JSF 2.0@ViewScope正在丢失数据
主要的情况是,我有一个@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是空的 例如: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
<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属性