0

我有一个带有一些 bean 的 webapp,非常适合作为ViewScoped托管 bean。我使用了一个管理的向导,它也具有相同的范围,它有时会丢失它的窗口选项卡;当然,返回时会重新创建向导。有没有可能以某种方式扩展这个范围,因为我的wizardbean 在返回时不会被丢弃和重新创建?

在这种情况下,哪一个是我最好的选择?我也session scope用于wizard,但我必须从上下文中删除 bean,我认为这不是一个很好和干净的方法。(问题是我必须将所有内容都managed properties设为session scopes

4

1 回答 1

2

您可以使用CDI 的对话范围,您必须自己设置对话的开始和结束(例如您的向导工作流程)。

但是请注意,将 JSF ManagedBeans 注入到 CDI bean 中并不总是可行的,反之亦然。请参阅此相关答案。在切换到 CDI 之前,请确保它在您的特殊设置中工作。

如果您使用像 Primefaces 这样的组件库,那么您也可以使用一个向导组件

于 2013-03-11T10:16:35.323 回答