【问题标题】:Integrating JSF with Spring将 JSF 与 Spring 集成
【发布时间】:2011-02-18 08:42:16
【问题描述】:

我还没有实现任何代码,我仍在为新应用程序构建整体架构,这将是我第一次使用 JSF+Spring。

我需要将 Web 服务放在 Spring 服务 bean(业务逻辑层)之前,因为这些 bean 可以被表示层之外的其他应用程序访问。在为应用程序定义不同的层或层时,我不确定如何将 JSF(表示层)与 Spring(此应用程序中的业务层)集成。

我正在考虑定义某种通用层或服务层,以便为 JSF 和 Spring 提供胶水代码,但在此之前,我想听听其他人做了什么,或者他们是否使用过其他框架帮助解决这个场景的胶水代码(我已经检查了 Spring MVC/Spring Faces,但我不确定这是否是我需要的,因为我认为这个应用程序更像以 JSF 为中心而不是以 Spring 为中心,但也许你可以帮助我考虑另一种方法)。

提前致谢。

【问题讨论】:

    标签: java spring jsf spring-mvc


    【解决方案1】:

    “胶水”是弹簧ELResolver,您必须在faces-config.xml 中配置它:

    <application>    
        <!--
            This is the JSF 1.2 ELResolver that delegates to the Spring root
            WebApplicationContext resolving name references to Spring-defined
            beans.
        -->
        <el-resolver>
             org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
     </application>
    

    这意味着每个#{bean.property} 都由spring 上下文中的bean 解析处理。

    【讨论】:

    • 这对于 JSF 2.0 是否保持不变,还是仅适用于 JSf 1.2?
    • 应该是一样的。但我不确定,所以试试吧。
    • 这看起来不错,但是如果希望我的 JSF 应用程序尽可能不了解 Spring 怎么办?如果有可以调用的web服务,是否需要使用这个SpringBeanFacesELResolver?
    • 也许我需要更具体一些,如果以后我决定使用其他东西而不是 Spring 怎么办?我想结合JSF+Spring,但我想有一个非常松散的集成。
    • 那么如果那个“东西”有一个 ELResolver,或者它很容易编写,那么你在集成方面的切换将是 1 行配置。
    猜你喜欢
    • 1970-01-01
    • 2013-09-23
    • 2012-08-12
    • 2012-07-02
    • 2012-02-01
    • 2011-02-05
    • 1970-01-01
    • 2016-11-12
    相关资源
    最近更新 更多