import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.ApplicationFactory;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import javax.servlet.ServletContext;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public final class SpringFacesUtil {
public SpringFacesUtil() {
}
/**
* 从Spring中查找bean.
* @param beanName String
* @return Object
*/
public static Object findSpringBeanByName(String beanName) {
ServletContext context = (ServletContext) FacesContext
.getCurrentInstance().getExternalContext().getContext();
ApplicationContext appctx = WebApplicationContextUtils
.getRequiredWebApplicationContext(context);
return appctx.getBean(beanName);
}
/**
* 由spring的xml配置文件位置和bean的名字取得bean
* @param xmlPath spring配置文件位置
* @param beanName 要取得bean的名字
* @return
*/
public static Object findSpringBeanByPath(String xmlPath,String beanName){
ApplicationContext ctx =new FileSystemXmlApplicationContext(xmlPath);
return ctx.getBean(beanName);
}
/**
* 从JSF中查找bean.
* @param beanname String
* @return Object
*/
@SuppressWarnings("deprecation")
public static Object lookupJsfBean(String beanname) {
Object obj = getValueBinding(getJsfEl(beanname)).getValue(
FacesContext.getCurrentInstance());
return obj;
}
@SuppressWarnings("deprecation")
private static ValueBinding getValueBinding(String el) {
return getApplication().createValueBinding(el);
}
private static Application getApplication() {
ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder
.getFactory(FactoryFinder.APPLICATION_FACTORY);
return appFactory.getApplication();
}
private static String getJsfEl(String value) {
return "#{" + value + "}";
}
}
分享到:
相关推荐
JSF和Spring集成
JSF和Spring集成的资料比较少,原理是获得彼此的上下文引用,以此进一步获得各自管理的bean,这是可能的,因为两者是web应用框架都遵循servlet规范,为二者整合提供了可能和基础.
这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。
运行在jboss 下的web应用,其中用到 jsf 和spring的整合技术
JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!
JSF+SPRING+HIBERNATE
此压缩文件包涵了使用JSF+SPRING的所用到的jar包,解压以后直接导入到项目就可以用了!很简单的哦!
jsf-spring-4.0.3 jsf他spring结合的工具,from :sorseforce
ajax+jsf+spring+hibernate开发的实例源码
自己收集的jsf+spring整合配置文件及案例
JSF+Spring+Hibernate(框架整合)详细过程,有代码和视图
JSF+Spring+Hibernate jar文件压缩包,hibernate最小配置,Spring 2.0 jar, richfaces
JSF+Spring+JPA以我个人看来,应该说是Struts2+Spring+Hibernate的替代解决方案。 引入JPA去取代或者说包装或者说是升级Hibernate是为了符合JAVA EE的规范,达到ORM统一的结果。下次项目用EJB也好、用TOPLINK也好、...
JSF+Spring+Hibernate 分页显示 SQL Server数据库
JSF集成Spring_Framework和Hibernate开发应用实例
jsf,spring酒店预定管理系统jsf,spring酒店预定管理系统jsf,spring酒店预定管理系统
spring2.5 与 jsf RI 集成后的猜数字游戏 tomcat6下部署运行
基于网上很多朋友在问JSF+Spring+Hibernate的使用方法,于是抽空写了个小例子希望大家提出宝贵意见。 采用DBUnit测试 mysql数据库脚本: 新建test数据库,初始化脚本 create table tt(id int primary key,name ...
jsf+spring 的 配置文件 +dao JdbcTemplate的一些调用~~
jsf与spring的集成的几种方式,以及jsf的一些技术