Java EE 6 - JSF 控制器

Posted

技术标签:

【中文标题】Java EE 6 - JSF 控制器【英文标题】:Java EE 6 - JSF Controllers 【发布时间】:2012-05-01 22:31:25 【问题描述】:

在多年没有接触 EE 之后,我开始使用 Java EE 6(我在 Spring 领域已经有一段时间了)。

在 JSF 2 中,我认为我们不再真正拥有控制器是对的吗?这项工作是由托管 bean 完成的吗?

如果是这样,那么将“服务”类(带有 CDI)注入我的托管 bean 以处理业务逻辑(并随后调用 DAO)是否被认为是正常做法?

我买了一本书(PacktPub 的“EE 6 with Netbeans”)并阅读了很多教程,但我仍然不太清楚如何正确操作。

作为一个额外的问题,我可以下载一个参考“PetStore”风格的应用程序,它以最佳实践的方式显示所有内容?

谢谢

【问题讨论】:

其实这个教程看起来很有前途:jsf-tying-it-all-together.blogspot.co.uk/p/… 【参考方案1】:

在 JSF 2 中,我认为我们并没有真正的控制器是对的吗 不再。这项工作是由托管 bean 完成的?

这取决于您如何定义术语控制器。有些人将托管 bean 与控制器混淆,但它们宁愿属于 MVC 的模型部分,或者位于模型、视图和控制器“之间”(参见 great answer by Arjan Tijms 类似的问题)。

如果是这样,那么注入“服务”是否被认为是正常做法 类(带有 CDI)到我的托管 bean 中以处理业务逻辑 (并随后调用 DAO)?

这是可以做到的,而且是正常的做法(我在所有项目中都这样做)。但请注意,注入并不总是按预期工作,因此例如您不能将托管 bean 注入 CDI bean(参见my answer 类似问题)。

作为一个额外的问题,我是否有一个参考“PetStore”风格的应用程序? 可以下载显示所有内容以最佳实践链接在一起 有什么办法?

您可以查看Netbeans tutorials。在那里,您可以找到有关该主题的大量信息。也强烈推荐访问BalusC's blog。

【讨论】:

谢谢马特,一些很好的建议。周末也会去看看那个博客。非常感谢。 当然,这对大多数人来说都是旧闻,但我刚刚偶然发现了“Duke's Bookstore”,它是 Java EE 6 教程的一部分。有很多有用的例子。

以上是关于Java EE 6 - JSF 控制器的主要内容,如果未能解决你的问题,请参考以下文章

Java EE 6:JSF 与 Servlet + JSP。我应该费心学习 JSF 吗?

使用 JSF/Java EE 从数据库实时更新

在 Java EE 6 中生成激活 URL

Oracle Java EE 7 JSF 示例不适用于 Tomcat

使用支持 bean 和 jsf 的 Java EE 持久化实体 [重复]

登录后重定向错误(Java EE w/JSF)