在JSF中整合使用Spring Bean

1、为什么需要在JSF中使用Spring Bean

主要基于以下几点考虑

a)、用Spring作为容器管理Bean相当方便,且很容易和其它框架配合,例如hibernate,而jsf自己管理一套bean,和Spring Bean位于不同的容器当中,交互变得困难。

b)、JSF2.x已经支持通过注解(Annotation)方式设定Managed Bean,但是其Bean的注入不如Spring方便,必须要有set方法。



2、实现方式

a)、配置Spring,并配置包自动扫描

在web.xml中配置ContextLoaderListener

在Spring配置文件中配置包自动扫描<context:component-scan  base-package="com.spbdev"/>

具体配置步骤从略。

b)、在jsf的配置文件(默认为faces-config.xml)中的faces-config/application节点下增加如下一行配置:

<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>


完整配置截图如下:


目的是让spring去解析EL expression, 因为以后所有的bean都会是spring bean而不是JSF的managed bean。JSF碰到#{},就会去问这个resolver,然后返回一个spring bean。如此一来,JSF里面,除了Navigation的东西,原来bean的内容就都可以使用了。

c)、按照正常方式编写和配置Spring Bean,并在jsf页面中直接使用即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值