0

有没有办法在对话上下文中存储一些 bean?即,对于每个新对话,都会创建一个属于它的新的单独 bean。

4

1 回答 1

2

做你想做的最简单的方法是声明一个 ConversationScoped 托管 bean 或 JSF2 管理范围的 EJB。

这里有一些很好的解释:

......其中任何一个都会比我做得更好。非常简短的版本是您使用注释对 bean 进行注释 - 它可以是遵循 bean 约定的普通 POJO @ConversationScoped。然后你@Inject是一个Conversation对象,你可以使用它begin()end()对话。将这个@ConversationScopedbean 注入到其他东西中。Conversation.beginandConversation.end方法控制它的生命周期。

这里有很多代码要发布,但上面的链接应该会有所帮助。

POJO 托管 bean的替代方案@ConversationScoped可以是@Stateful @ConversationScopedEJB。当您在对话中需要 EJB 服务时,它们会非常方便。

有关一些概念背景和详细信息,请阅读关于范围的 CDI/Weld 参考- 以及 CDI/Weld 手册的其余部分。它写得非常好,非常好

于 2012-08-20T14:05:53.603 回答