Java 使用RequestScoped(面)和RequestScoped(上下文)有什么区别

Java 使用RequestScoped(面)和RequestScoped(上下文)有什么区别,java,jakarta-ee,servlets,primefaces,jsf-2.2,Java,Jakarta Ee,Servlets,Primefaces,Jsf 2.2,我注意到,我可以从@javax.enterprise.context.RequestScoped和@javax.faces.bean.RequestScoped中使用@RequestScoped注释 在一种情况下,面版本似乎有效,而在另一种情况下,上下文版本有效 我想知道的是,哪个是首选/推荐的? 我正在使用PrimeFaces框架,直到后来在我的开发中才意识到我可以在大多数情况下使用@ViewScoped。虽然它们表示相同的范围,但它们用于完全不同的bean类型 faces版本用于JSF的原生

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

在一种情况下,版本似乎有效,而在另一种情况下,上下文版本有效

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


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

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

faces版本用于JSF的原生bean。对于JSF2.2,这些已经被有效地弃用了

上下文版本是针对CDIBeans的。在JSF2.2中,它们是JSF原生bean的100%替代品。在JSF2.1中,它们几乎就是这样的替代品,除了本机视图范围不能与它们一起工作(但您可以
添加OmniFaces、CODI和其他几个库中的一个库)。

尽管它们表示相同的范围,但它们用于完全不同的bean类型

faces版本用于JSF的原生bean。对于JSF2.2,这些已经被有效地弃用了

上下文版本是针对CDIBeans的。在JSF2.2中,它们是JSF原生bean的100%替代品。在JSF2.1中,它们几乎就是这样的替代品,除了本机视图范围不能与它们一起工作(但您可以 从OmniFaces、CODI和几个其他LIB中添加一个)