天天看點

在Spring Beans中的JSF

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/1769864

在Spring Beans中的JSF

http://blog.rainer.eschen.name/2007/08/21/jsf-on-spring-beans/

以前,我寫過在混合依賴注入環境中怎樣使用backing beans。我的blog目錄描述了怎樣在JSF和Spring中寫POJOs,以及在基于JSF的表現層使用它們。但是,Web容器的配置有時是missing的。

1)Configuration(配置)

其配置是非常簡單的。我們需要一個指定的listener,叫RequestContextListener,和一個resolver,名為DelegatingVariableResolver。兩者都來自Spring的配置,當backing bean識别符被映射到一個bean時,起到調派(dispatching)作用。這個配置允許把所有指定的JSF定義移動到Spring context。

管理backing beans更好的方法時把應用程式上下文(application context)檔案分成多個檔案。要識别上下文,需要用“spring-”給檔案名加上字首。

下面是web.xml的代碼,在packages有一些beans,“security”,“commons”,“context”。

在Spring Beans中的JSF

<context-param>

在Spring Beans中的JSF

    <param-name>contextConfigLocation</param-name>

在Spring Beans中的JSF

    <param-value>

在Spring Beans中的JSF

        /WEB-INF/spring-security.xml,

在Spring Beans中的JSF

        /WEB-INF/spring-commons.xml,

在Spring Beans中的JSF

        /WEB-INF/spring-context.xml

在Spring Beans中的JSF

    </param-value>

在Spring Beans中的JSF

</context-param>

在Spring Beans中的JSF
在Spring Beans中的JSF

<listener>

在Spring Beans中的JSF

    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

在Spring Beans中的JSF

</listener>

在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF

    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>

在Spring Beans中的JSF
在Spring Beans中的JSF

下面是faces-config.xml檔案:

在Spring Beans中的JSF

<application>

在Spring Beans中的JSF

    <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>

在Spring Beans中的JSF

</application>

2)Maven建立

如果使用Maven2,你必須增加一些Spring的依賴。依賴于你使用的其它架構,如Acegi,你還可以增加更多的依賴。如下:

在Spring Beans中的JSF

<dependency>

在Spring Beans中的JSF

    <groupId>org.springframework</groupId>

在Spring Beans中的JSF

    <artifactId>spring</artifactId>

在Spring Beans中的JSF

    <version>2.0.6</version>

在Spring Beans中的JSF

</dependency>

在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF

    <groupId>cglib</groupId>

在Spring Beans中的JSF

    <artifactId>cglib</artifactId>

在Spring Beans中的JSF

    <version>2.1_3</version>

在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF

    <groupId>asm</groupId>

在Spring Beans中的JSF

    <artifactId>asm</artifactId>

在Spring Beans中的JSF

    <version>1.5.3</version>

在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF

    <artifactId>asm-attrs</artifactId>

在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF
在Spring Beans中的JSF