我在 Netbeans 6.9 中创建了一个 JSF 2.0 项目。我开始使用 CDI。在我尝试添加范围时创建项目后,我注意到其中没有视图范围。我想知道对话范围和视图范围指的是同一件事吗?我可以使用对话范围代替视图范围吗?如果不是,那么我如何将视图范围与 CDI 一起使用。我也开始知道 seam 是解决方案,但是我如何将 seam 与 netbeans 一起使用。是否有任何用于接缝的 netbeans 插件?接缝 3
谢谢
我在 Netbeans 6.9 中创建了一个 JSF 2.0 项目。我开始使用 CDI。在我尝试添加范围时创建项目后,我注意到其中没有视图范围。我想知道对话范围和视图范围指的是同一件事吗?我可以使用对话范围代替视图范围吗?如果不是,那么我如何将视图范围与 CDI 一起使用。我也开始知道 seam 是解决方案,但是我如何将 seam 与 netbeans 一起使用。是否有任何用于接缝的 netbeans 插件?接缝 3
谢谢
CDI 没有查看范围。谈话范围不一样。只要您使用相同的视图并在页面的部分或全部重新加载中幸存下来,视图范围的 bean 就会存在。
如果你想使用 CDI 的对话范围,你的应用程序必须设置对话的开始和结束。
根据我的经验,您可以将 CDI 范围与 JSF 的视图范围一起使用(例如,将 CDI 范围用于会话和应用程序 bean 以及您需要的 JSF 视图范围)。
更新:但是,您不能将 managad bean 注入 CDI bean。反之亦然。这是更常见的情况(从更广泛的范围注入更窄的范围)。
只需将 seam3 faces 模块放在您的类路径中或使用@ViewAccessScpoed
myfaces CODI 的注释。