JSF与Spring的集成

JavaServer Faces (JSF) 是一个基于组件的事件驱动框架。JSF 的组件集包含一个事件发布模型、一个轻量级的 IOC 容器和很多用于几乎所有其他公共 GUI 特性的组件,这些特性包括可插入呈现、服务器端验证、数据转换、页面导航管理等等,在某些场景下,将JSF与Spring进行集成是有意义的。

创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为五莲企业提供专业的成都网站设计、成都网站建设,五莲网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

由于JSF与Spring均遵循Servlet,因此二者的集成是简单的。JSF与Spring进行集成的关键类是DelegatingVariableResolver。

为了在JSF应用程序中配置这个解析器,需要修改JSF的faces-context.xml文件。在元素中增加元素,而其中的值必须引用Spring的DelegatingVariableResolver。示例如下:

  1.  
  2.  
  3. org.springframework.web.                                                         jsf.DelegatingVariableResolver 
  4.  
  5. zh_CN 
  6. en 
  7. zh_CN 
  8.  
  9. messages 
  10.  

DelegatingVariableResolver类将首先在JSF实现中查找缺省的解析器,其后在Spring的WebApplicationContext中去查找,从而开发人员可以通过配置文件将对象依赖注入到JSF管理的bean。被管理的bean定义在faces-config.xml文件内。下例说明了如何从Spring的业务环境中检索名为#{userManager}的bean:

  1.  
  2. userList 
  3. com.example.jsf.UserList 
  4. request 
  5.  
  6.   userManager 
  7.   #{userManager} 
  8.  

此外需要在web.xml配置文件中加入如下代码:

  1.  
  2.         org.springframework.web.context.                                               ContextLoaderListener 
  3.    
  4.    
  5.       javax.faces.CONFIG_FILES 
  6.        
  7.         /WEB-INF/faces-config.xml  
  8.        
  9.    
  10.    
  11.       javax.faces.STATE_SAVING_METHOD 
  12.     client 
  13.    
  14.    
  15.     Faces Servlet 
  16.     javax.faces.webapp.FacesServlet 
  17.     1 
  18.    
  19.    
  20.     Faces Servlet 
  21.     *.jsf 
  22.   

注意Listener是Servlet API的V2.3版本后才引入的特性,如果使用Servlet 2.2容器,则需要使用ContextLoaderServlet来实现同样的功能。

现在网上有些关于JSF前景的争议,尤其SUN在这方面工作的滞后更令人非议。而似乎Spring的WebFlow将会更加流行。其实争议与否,就具体的应用而言,只要能够满足用户的需求即可,其余的都不是主要的因素。

本文题目:JSF与Spring的集成
网站URL:http://www.shufengxianlan.com/qtweb/news44/405544.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联