使用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