使用RequestScoped(面孔)和RequestScoped(上下文)有啥区别[重复]

Posted

技术标签:

【中文标题】使用RequestScoped(面孔)和RequestScoped(上下文)有啥区别[重复]【英文标题】:What is the difference between using RequestScoped (faces) and RequestScoped (context) [duplicate]使用RequestScoped(面孔)和RequestScoped(上下文)有什么区别[重复] 【发布时间】:2013-12-19 07:18:09 【问题描述】:

我注意到我可以使用@javax.enterprise.context.RequestScoped@javax.faces.bean.RequestScoped 中的@RequestScoped 注释

在一种情况下,faces 版本似乎工作,而在另一种情况下,context 版本。

我想知道的是,哪个是首选/推荐?

我正在使用 PrimeFaces 框架,只是在我的开发后期才意识到在大多数情况下我可以使用 @ViewScoped

【问题讨论】:

【参考方案1】:

虽然它们表示相同的范围,但它们用于完全不同的 bean 类型。

faces 版本用于 JSF 的本机 bean。这些在 JSF 2.2 中已被有效弃用。

上下文版本适用于 CDI bean。在 JSF 2.2 中,它们是 JSF 原生 bean 的 100% 替代品。在 JSF 2.1 中,它们几乎是这样的替代品,除了原生视图范围不适用于它们(但你可以 从 OmniFaces、CODI 和其他几个库中添加一个)。

【讨论】:

以上是关于使用RequestScoped(面孔)和RequestScoped(上下文)有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 RequestScoped bean 填充 Select 元素? [复制]

在 JSF 2 的 requestScoped bean 中显式创建会话

为啥我会收到 WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped 异常?

在 WildFly 上重新部署后,CDI 无法在 @Requestscoped REST 服务中将 @Singleton 设置为 @Provider

如何使用 int 数组创建带有面孔和西装的卡片组?

OpenGL奇怪的渲染行为(闪烁的面孔)