将Spring与JSF / Facelets结合使用

Using Spring with JSF/Facelets

本问题已经有最佳答案,请猛点这里访问。

我想澄清一些事情。

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

我对Spring MVC及其DI / IoC功能进行了一些研究,并提出了一些问题:

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

我开始认为他只是想让我保持项目不变,而是添加Spring的IoC / DI。

如您所见,我在这个问题上很困惑,想澄清一下。


我能理解你的困惑。曾经做过一个项目,在其中我将JSF用作前端,将Spring MVC用作后端。
对您来说,答案是肯定的,您可以通过使用JSF Bean(例如托管Bean)来使用JSF进行控制反转,但您需要牢记以下几点。
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用于后端。
使用JSF的宁静服务:
是的,您可以使用JSF提供安心的服务。这是关于此的非常好的博客。JSF中的Restful Web Services您还可以在Spring中的Spring Rest Web Services中创建Restful Web Service。