`
javado
  • 浏览: 8618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JSF和Spring共用的工具类

阅读更多
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 + "}";
	}
}


分享到:
评论
2 楼 javado 2008-09-21  
http://download.csdn.net/source/355012
到这里看看能不能下载,如果不能我传给你,那个是我写的一个小例子
1 楼 gmingsoft04 2008-09-11  
总结的很好,虽然这个类我暂时不知道怎样调用,要是能给我应用的实例就好了

相关推荐

    JSF和Spring集成.doc

    文档中给出了一个名为 `SpringFacesUtil` 的工具类,用于实现 JSF 和 Spring 的集成。下面是对该工具类中的关键方法进行详细解析: - **findBean 方法**:该方法首先通过 `FacesContext` 获取当前的 `...

    JSF 和 Spring 集成

    JSF(JavaServer Faces)和Spring都是在Web开发中广泛使用的框架,它们各自有其独特的优势。JSF主要用于构建用户界面,提供了一套组件库和MVC架构,而Spring则是一个全面的后端框架,包含了依赖注入、AOP、事务管理...

    jsf+spring 实例

    **JSF(JavaServer Faces)和Spring框架的整合** JSF和Spring都是Java开发Web应用程序时常用的技术。JSF是一个用于构建用户界面的MVC(Model-View-Controller)框架,而Spring则是一个全面的后端框架,提供依赖注入...

    jsf+spring的jar包

    `commons-beanutils.jar`和`commons-collections.jar`是Apache Commons项目下的两个库,它们提供了许多实用的工具类,用于Bean操作和集合处理,这些在JSF和Spring的开发中都很常见。 `commons-digester-2.0.jar`是...

    JSF与Spring完美结合

    在IT行业中,JavaScript Faces (JSF) 和 Spring 框架是两个广泛使用的Java Web开发技术。JSF主要用于构建用户界面,而Spring则提供全面的企业级应用支持,包括依赖注入、事务管理、安全控制等。当这两者结合时,可以...

    jsf-spring-4.0.3

    2. **示例代码**:可能有`src/main/java`目录,包含示例的Java类,展示如何在JSF中使用Spring beans。 3. **Web应用结构**:可能有`WEB-INF`目录,包含`web.xml`,这是Servlet容器的部署描述符,可能会配置JSF和...

    jsf+spring2.5+jpa(hibernate)的jar包

    这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。

    jsf-spring-boot-starter-2.2.6.zip

    【标题】"jsf-spring-boot-starter-2.2.6.zip" 是一个基于Java Server Faces (JSF) 和Spring Boot...虽然描述中提到了与Scala相关的工具,但在没有更多信息的情况下,我们主要关注JSF和Spring Boot的集成及其核心概念。

    JSF+Spring+Ibatis示例

    JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!

    JSF+Spring+Hibernate的实例讲解.doc

    JavaServer Faces (JSF)、Spring Framework 和 Hibernate 是构建现代 Web 应用程序的三个关键技术。JSF 是一种用户界面框架,适用于基于 Model-View-Controller (MVC) 架构的应用程序,提供了丰富的组件库和事件驱动...

    jsf+spring整合

    JSF(JavaServer Faces)和Spring是两种在Java Web开发中广泛使用的框架。JSF主要用于构建用户界面,而Spring则提供了全面的企业级应用框架服务,包括依赖注入、事务管理、安全性和AOP(面向切面编程)。将两者整合...

    JSF+Spring+Hibernate(框架整合)详细过程

    1. **配置Spring**:首先,我们需要在Spring配置文件中定义Bean,包括JSF Managed Beans和Hibernate Session Factory。Bean的定义可以是XML配置或基于注解的方式。 2. **JSF与Spring的整合**:为了使JSF能够使用...

    jsf+spring+hibernate

    JSF (JavaServer Faces)、Spring 和 Hibernate 是 Java 开发中的三大核心技术,常用于构建企业级的 Web 应用程序。它们各自扮演着不同的角色,共同构建了一个强大的后端架构。 1. **JSF(JavaServer Faces)**: ...

    jsf+spring 的 配置文件

    在Java世界中,JSF(JavaServer Faces)和Spring框架是两种常见的技术,它们分别用于构建用户界面和处理业务逻辑。JSF是一个用于构建MVC(Model-View-Controller)结构Web应用程序的Java标准,而Spring则是一个全面...

    JSF+Spring+Hibernate小例子

    在Java Web开发中,JSF(JavaServer Faces)、Spring和Hibernate是三个常用的技术栈,它们分别负责视图层、业务逻辑层和服务数据持久化层。这个"JSF+Spring+Hibernate小例子"为我们提供了一个整合这三者的基础应用,...

    ajax+jsf+spring+hibernate

    **Ajax、JSF、Spring和Hibernate是四种在Java Web开发中广泛应用的技术,它们共同构建了高效、灵活且功能强大的Web应用程序。** **Ajax(Asynchronous JavaScript and XML)** 是一种在无需重新加载整个网页的情况...

    JSF第一步--JSF+Spring+ Hibernate+AJAX编程实践 试读

    在"JSF第一步--JSF+Spring+Hibernate+AJAX编程实践 试读"这本书中,读者可以期待学习如何设置这些技术的集成环境,创建JSF组件,配置Spring容器,理解Hibernate的映射和查询机制,以及如何在JSF中使用AJAX进行异步...

    jsf+spring+hibernate的架构和例题

    开发者通常会首先定义业务实体类(用Hibernate的注解或XML配置),然后创建Spring Bean来实现业务逻辑,接着在JSF页面上设计用户界面,通过Managed Beans与Spring Bean交互,最后利用Maven构建和部署应用。...

    JSF+Spring+JPA(Hibernate实现)的环境搭建

    - 修改`web.xml`文件,添加Spring和JSF的相关配置: - 注册Spring ContextLoaderListener以加载Spring配置文件。 - 配置JSF支持,包括配置文件路径、状态保存方法等。 - 添加Facelets支持,以便使用XHTML格式的...

Global site tag (gtag.js) - Google Analytics