我在Netbeans 6.9中创建了一个JSF2.0项目。我开始使用CDI了。创建项目后,当我尝试添加范围时,我注意到其中没有视图范围。我想知道会话作用域和视图作用域是指同一事物吗?我可以使用会话范围代替视图范围吗?如果没有,那么如何将视图范围与CDI一起使用。我也知道seam是解决方案,但是我如何在netbeans中使用seam呢?有没有用于seam的netbeans插件?seam-3
谢谢
发布于 2012-03-06 17:38:52
CDI没有视图作用域。会话作用域不同。只要您使用相同的视图并在页面的部分或全部重新加载中幸存下来,视图作用域bean就会存活。
如果要使用CDI的会话作用域,则应用程序必须设置会话的开始和结束。
根据我的经验,您可以将CDI作用域与JSF的视图作用域一起使用(例如,将CDI作用域用于会话和应用程序bean,并在需要时使用JSF视图作用域)。
更新:但是,不能将managad bean注入到CDI bean中。反之亦然。这是更常见的情况(从更宽的范围注入到更窄的范围)。
发布于 2012-07-28 21:13:41
只需将seam3 faces模块放在类路径中或使用myfaces CODI的@ViewAccessScpoed注释即可。
https://stackoverflow.com/questions/9580698
复制相似问题