在JSF 2.0中,如何在CDI的情况下使用视图范围



我在Netbeans 6.9中创建了一个JSF 2.0项目。我开始使用CDI。创建项目后,当我尝试添加范围时,我注意到其中没有视图范围。我想知道对话范围和视图范围指的是相同的东西吗?我可以用对话范围代替视图范围吗。如果没有,那么我如何将视图范围与CDI一起使用。我也知道seam是解决方案,但我如何将seam与netbeans结合使用。有没有针对seam的netbeans插件?seam-3

感谢

CDI没有视图范围。对话范围不相同。只要您使用相同的视图,并且在页面的部分或全部重新加载中幸存下来,视图范围的bean就会一直存在。

如果您想使用CDI的会话范围,您的应用程序必须设置会话的开始和结束。

根据我的经验,您可以将CDI作用域与JSF的视图作用域一起使用(例如,将CDI范围用于会话和应用程序bean,并在需要的地方使用JSF视图作用域)。

更新:但是,您不能将managad bean注入CDI bean中。反之亦然。这是更常见的情况(从更宽的范围注入到更窄的范围)。

只需将seam3-faces模块放在类路径中,或者使用myfaces CODI的@ViewAccessScpoed注释。

相关内容

最新更新