JSF整合Spring

本文介绍了两种将JSF与Spring框架整合的方法:一是利用自定义的实用类SpringFacesUtil来获取Spring管理的bean;二是使用第三方框架jsf-spring进行整合。这两种方法都需要在web.xml中进行相应的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导读:
  *************************************************/
  JSF与Spring整合的原理是获得彼此的上下文引用,以此进一步获
  得各自管理的bean,这是可能的,因为两者是Web应用框架都遵循Servlet规范,
  为二者整合提供了可能和基础。
  在Spring中ApplicationContext是相当重要的类,对于web应用,它还包装了
  Javax.servlet.ServletContext, 为web应用提供了所有可以利用的数据,
  包括可管理bean,Faces中通过FacesContext类可以获得所有可以利用的资源,
  同样包括JSF的可管理支持bean,它们都围绕着ServletContext提供了自己的
  门面,通过各自的门面在Servlet容器的世界里彼此相通。
  这边介绍两种整合的方法
  一、利用自定义的类
  编写一个实用类SpringFacesUtil
  
  package com.ceun.util;
  import org.springFramework.context.ApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;import javax.faces.context.FacesContext;import javax.servlet.ServletContext;public final class SpringFacesUtil
  
  
  
  {
  /** * 从Spring中查找bean.
  * @param beanName String
  * @return Object
  */ public static Object findBean(String beanName){
  ServletContext context = (ServletContext) FacesContext.getCurrentInstance().
  getExternalContext().getContext();
  ApplicationContext appctx = WebApplicationContextUtils.
  getRequiredWebApplicationContext(context);
  return appctx.getBean(beanName);
  }
  
  }
  经过编译后,就可以通过使用这个实用类的finsBean方法来,获得Spring管理的bean了
  提示:运行前,确认你已经在应用配置文件(web.xml)中加入如下代码,并拷贝相应的类库存到应用WEB-INF/lib
  目录
  ... javax.faces.CONFIG_FILES /WEB-INF/faces-config.xml
  
  
  org.springframework.web.context.ContextLoaderListener
  
  
  
   Faces Servlet
   javax.faces.webapp.FacesServlet
   0
  
  
   Faces Servlet
   *.faces
  
  ...
  
  二、使用第三方框架
  这边介绍一种使用jsf-spring框架整合JSF与Spring的方法
  1.首先从http://jsf-spring.sourceforge.net/下载jsf-spring类库
  因为此例假设整合JSF1.1 Spring 1.2
  所以下载jsf-spring-3.0.0.zip,下载解压后拷贝dist目录下的文件到你的应用WEB-INF/lib目录下
  2.修改应用配置文件(web.xml)
  在刚才添加的加载Spring的listener后面。再添加一个listener
   de.mindmatters.faces.spring.context.ContextLoaderListener
  
  3.假设你有个由JSF管理userBean bean,你现在想把userBean中的其中一个属性如userDAO,改成从Spring bean
  中获得
  那么你可以在faces-config.xml中作如下修改
   userBean com.ceun.bean.UserBean request userDAO #{userDAO}
  4.重启服务器,在你的应用中使用Spring管理的bean
  
  
  Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1458223

本文转自
http://blog.youkuaiyun.com/java619/archive/2006/12/24/1458223.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值