使用RequestScoped(faces)和RequestScoped(context)有什么区别

时间:2013-12-03 09:47:25

标签: java java-ee servlets primefaces jsf-2.2

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

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

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

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

1 个答案:

答案 0 :(得分:4)

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

faces版本用于JSF的原生bean。这些已经被JSF 2.2有效地弃用了。

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