JSF 2.x + Spring 3.2集成?

很抱歉提出这个问题,它可能与Stack溢出中的其他类似线程重复。在我的情况下,类似的thready也不起作用。

我在春季3.2中有足够的知识,并在春季完成了一个小项目。

现在我是JSF的新手,我创建了一些基本的JSF示例。我想将JSF特性及其components用于我的新Spring + JSF项目。

我为JSF + Spring Integration出来的链接如下,

Spring MVC 3, JSF 2 with Maven 2 and Tomcat 7

http://blog.terrencemiao.com/archives/spring-3-shacks-up-jsf-2-the-maverick-way

我找到的资源对我没有帮助,那是非常古老的post。

任何人都可以为我提供JSF 2.X + Spring 3.x MVC与控制器和视图解析器的集成示例,这将有助于许多真正寻求工作的用户。

希望我们的堆栈用户能帮助我。

首先:你不应该一起使用JSF和Spring MVC,因为它们相互竞争! (这是我的意见!)

看看这些链接:

  • JSF 2.0 + Spring集成示例

  • 将Spring Web Flow与JSF集成

  • 配置Spring MVC以与JSF 2一起使用

在我看来, SpringJSF – 都可以使用得很好。 当然,它主要取决于您使用这些框架的要求和偏好。

Spring – 它有非常好的事务管理方式 , dependency injection , 安全性和许多其他function,但是 – 普通的JSF并不提供开箱即用的这种function,但JSF有很好的渲染视图的方式。 因此,将这两个框架中的这些function混合在一起可以简化操作。 JSF有很多基于它构建的框架,例如:

  • Primefaces
  • RichFaces的
  • ICEfaces的

在我看来,如果你一直在使用JSF ,你可以简化你的视图开发。 JSF有ManagedBean ,它取决于你的配置服务于你的请求,就像Spring控制器那样。

实际配置非常简单。 你需要:

faces-config.xml文件,其中包含SpringBeanFacesELResolver :

    org.springframework.web.jsf.el.SpringBeanFacesELResolver      

Spring applicationCotext.xml文件。 通常的spring配置,没有特定的JSF

你的web.xml应该是这样的:

    contextConfigLocation WEB-INF/applicationContext.xml   javax.faces.PROJECT_STAGE Production   org.springframework.web.context.ContextLoaderListener   org.springframework.web.context.request.RequestContextListener   Faces Servlet javax.faces.webapp.FacesServlet 1   Faces Servlet *.xhtml    

JSF最酷的东西是View Scope ,默认情况下会丢失,如果你在Spring使用JSF ,但绝对不想丢失它。 这解释了如何使View Scope在JSFSpring集成中工作。

如果我要从头开始构建一些应用程序,我会选择这两个框架并将它们集成在一起,但这只是我的观点。 希望这能为你解决一些问题。