使用 Spring 和 JSF/Facelets

Using Spring with JSF/Facelets

我想澄清一些事情。

我在 Eclipse IDE 中使用 JSF 和 facelets(xhtml 网页)开发了一个 Web 应用程序。现在,我的经理告诉我重新创建此应用程序,但作为 RESTful Web 应用程序使用 Spring.

我研究了 Spring MVC 及其 DI/IoC 特性,有几个问题:

我看到 Spring 提供 DI/IoC,JSF 不提供吗? 您可以在 JSF 中创建 RESTful 网络应用程序吗? 由于 JSF 像 Spring 一样使用 bean,因此使用 Spring 比 JSF 有什么优势? facelets 只是 Spring 框架的视图部分吗? 我可以将 Spring IoC/DI 与 facelets 一起使用吗?

我开始认为他只是希望我保持项目原样,但添加 Spring 的 IoC/DI。

如您所见,我对这个问题很困惑,希望得到一些澄清。

我能理解你的困惑。有一次我做了一个项目,我使用 JSF 作为前端,Spring MVC 作为后端。
对你来说,答案是 是的,你可以使用 JSF 通过使用 JSF Beans(例如托管 bean)来进行控制反转,但你需要记住几件事。
1: 您需要为 JSFSpring.
注册 bean 2: 建议您在 JSFSpring.
中为此 bean 设置相同类型的作用域 例如:如果您在 JSF 中为特定 bean 设置请求范围,那么您还应该在 Spring 中为同一 bean 设置请求范围。只有视图范围在 Spring 中不可用,但您可以编写自定义视图范围,这没什么大不了的
问题Are the facelets just the view part of the Spring framework?
部分的答案 不,您不能说它是 spring 的一部分,facelets 由 JSF 处理,但是是的,它们主要用作视图部分。因此,当您计划使用 JSFSpring 制作应用程序时,我会将其解释为您在前端使用 JSF,在后端使用 Spring
Restful 使用 JSF 的服务:
是的,您可以使用 JSF 创建 restful 服务。这是关于这个的非常好的博客Restful web Services in JSF
You can also create restful web service in Spring Rest Web Services in Spring