Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4035622
  • 博文数量: 626
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 11080
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-23 13:08
文章分类

全部博文(626)

文章存档

2015年(72)

2014年(48)

2013年(506)

分类: Java

2013-09-24 09:47:57

在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”。

<context-param>
    
<param-name>contextConfigLocationparam-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.ContextLoaderListenerlistener-class>
listener>

<listener>
    
<listener-class>org.springframework.web.context.request.RequestContextListenerlistener-class>
listener>

 

下面是faces-config.xml文件:

<application>
    
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolvervariable-resolver>
application>

 

2)Maven建立
如果使用Maven2,你必须增加一些Spring的依赖。依赖于你使用的其它框架,如Acegi,你还可以增加更多的依赖。如下:

<dependency>
    
<groupId>org.springframeworkgroupId>
    
<artifactId>springartifactId>
    
<version>2.0.6version>
dependency>

<dependency>
    
<groupId>cglibgroupId>
    
<artifactId>cglibartifactId>
    
<version>2.1_3version>
dependency>

<dependency>
    
<groupId>asmgroupId>
    
<artifactId>asmartifactId>
    
<version>1.5.3version>
dependency>

<dependency>
    
<groupId>asmgroupId>
    
<artifactId>asm-attrsartifactId>
    
<version>1.5.3version>
dependency>
 
阅读(698) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~