主要情况是我有一个作为@RequestScoped 工作的@ViewScoped。
Atm,我有一个视图,其中包含一个带有 @RequestScoped bean 的项目列表。当我想更新其中一项时,我会导航到后面带有 @ViewScoped 的视图。
当我从这个视图发帖时,我回到列表视图,@ViewScoped 被销毁。到目前为止,一切都很好。
问题是,当我使用 @ViewScoped bean 更新视图时,所有 bean 的属性都是空的。它看起来像@RequestScoped。我也有一个每次都调用的@PostConstruct 方法,但它不应该。
在带有@ViewScoped 的视图中,我在所有代码中使用了以下标签:h:selectOneMenu、rich:fileUpload、a4j:repeat、a4j:ajax、h:commandLink。
我没有把完整的代码放在我所拥有的大表格上。
我不知道发生了什么,因为以前没有发生过。如果需要更多信息,请询问。
问候。
编辑:
当我执行一个发布帖子的方法时(它将项目的数据保存在数据库中),bean 拥有所有数据。但是当我想从中获取数据时,就是 bean 为空的时候。
例子:
<h:outputLabel value="#{locale.link}:" />
<h:inputText value="#{newsBean.newsLink}"
disabled="#{not newsBean.editPage}" />
<h:link value="#{newsBean.newsLink}" target="_blank"/>
当我按下链接时,bean 是空的,所以我得到指向“新闻”项的空指针。