在学习了一段时间的JSP和Servlet之后,我开始使用JSF进行Web开发。
当您创建JSF Web应用程序时,您总是(可能经常,但是我不确定是否总是)必须创建beans.xml,并且您无需在其中编写任何内容。但是,如果该文件不存在,JSF Web应用程序将无法运行。
背后的原因是什么?
为什么我们需要该文件?
请详细解释。
添加迈克尔的答案;CDI 不仅因为注入支持而与 JSF 结合使用,而且还因为它支持与 EL(表达式语言)一起使用。这是 JSF 严重依赖的一个功能。
事实上,CDI bean 几乎可以完全取代 JSF 托管 bean,因此您会发现大量使用它们的示例以及大量建议使用它们的 JSF 书籍。对于 JSF 应用程序,CDI beans 具有以下优点:
非常不幸的是,在 JSF 2.0 和 2.1 中,CDI beans 默认不支持极其方便的视图范围,尽管像 Seam 这样的扩展可以添加这些视图范围。(更新:在 JSF 2.2 中,有一个新的视图范围可以与 CDI beans 一起使用)
总而言之,JSF 托管 bean 和 CDI bean 之间的混淆导致存在 JSF 规范问题,请参阅http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-976
| 归档时间: |
|
| 查看次数: |
3589 次 |
| 最近记录: |