在Spring Beans中的JSF
http://blog.rainer.eschen.name/2007/08/21/jsf-on-spring-beans/以前,我寫過在混合依賴注入環(huán)境中怎樣使用backing beans。我的blog目錄描述了怎樣在JSF和Spring中寫POJOs,以及在基于JSF的表現(xiàn)層使用它們。但是,Web容器的配置有時(shí)是missing的。
1)Configuration(配置)
其配置是非常簡(jiǎn)單的。我們需要一個(gè)指定的listener,叫RequestContextListener,和一個(gè)resolver,名為DelegatingVariableResolver。兩者都來自Spring的配置,當(dāng)backing bean識(shí)別符被映射到一個(gè)bean時(shí),起到調(diào)派(dispatching)作用。這個(gè)配置允許把所有指定的JSF定義移動(dòng)到Spring context。
管理backing beans更好的方法時(shí)把應(yīng)用程序上下文(application context)文件分成多個(gè)文件。要識(shí)別上下文,需要用“spring-”給文件名加上前綴。
下面是web.xml的代碼,在packages有一些beans,“security”,“commons”,“context”。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-security.xml,
/WEB-INF/spring-commons.xml,
/WEB-INF/spring-context.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
下面是faces-config.xml文件:
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
</application>
2)Maven建立
如果使用Maven2,你必須增加一些Spring的依賴。依賴于你使用的其它框架,如Acegi,你還可以增加更多的依賴。如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.1_3</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-attrs</artifactId>
<version>1.5.3</version>
</dependency>
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。