0

主要情况是我有一个作为@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 是空的,所以我得到指向“新闻”项的空指针。

4

0 回答 0