成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSF與Spring的集成

開發 后端
本文介紹JSF與Spring的集成,還介紹為了在JSF應用程序中配置這個解析器,需要修改JSF的faces-context.xml文件等。

JavaServer Faces (JSF) 是一個基于組件的事件驅動框架。JSF 的組件集包含一個事件發布模型、一個輕量級的 IOC 容器和很多用于幾乎所有其他公共 GUI 特性的組件,這些特性包括可插入呈現、服務器端驗證、數據轉換、頁面導航管理等等,在某些場景下,將JSF與Spring進行集成是有意義的。

由于JSF與Spring均遵循Servlet,因此二者的集成是簡單的。JSF與Spring進行集成的關鍵類是DelegatingVariableResolver。

為了在JSF應用程序中配置這個解析器,需要修改JSF的faces-context.xml文件。在<faces-config>元素中增加<application>和<variable-resolver>元素,而其中<variable- resolver>的值必須引用Spring的DelegatingVariableResolver。示例如下:

  1. <faces-config> 
  2. <application> 
  3. <variable-resolver>org.springframework.web.                                                         jsf.DelegatingVariableResolver</variable-resolver> 
  4. <locale-config> 
  5. <default-locale>zh_CN</default-locale> 
  6. <supported-locale>en</supported-locale> 
  7. <supported-locale>zh_CN</supported-locale> 
  8. </locale-config> 
  9. <message-bundle>messages</message-bundle> 
  10. </application> 
  11. </faces-config> 

DelegatingVariableResolver類將首先在JSF實現中查找缺省的解析器,其后在Spring的WebApplicationContext中去查找,從而開發人員可以通過配置文件將對象依賴注入到JSF管理的bean。被管理的bean定義在faces-config.xml文件內。下例說明了如何從Spring的業務環境中檢索名為#{userManager}的bean:

  1. <managed-bean> 
  2. <managed-bean-name>userList</managed-bean-name> 
  3. <managed-bean-class>com.example.jsf.UserList</managed-bean-class> 
  4. <managed-bean-scope>request</managed-bean-scope> 
  5. <managed-property> 
  6.   <property-name>userManager</property-name> 
  7.   <value>#{userManager}</value> 
  8. </managed-property> 
  9. </managed-bean> 

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

  1. <listener> 
  2.         <listener-class>org.springframework.web.context.                                               ContextLoaderListener</listener-class> 
  3.   </listener> 
  4.   <context-param> 
  5.       <param-name>javax.faces.CONFIG_FILES</param-name> 
  6.       <param-value> 
  7.         /WEB-INF/faces-config.xml  
  8.       </param-value> 
  9.   </context-param> 
  10.   <context-param> 
  11.       <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
  12.     <param-value>client</param-value> 
  13.   </context-param> 
  14.   <servlet> 
  15.     <servlet-name>Faces Servlet</servlet-name> 
  16.     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
  17.     <load-on-startup>1</load-on-startup> 
  18.   </servlet> 
  19.   <servlet-mapping> 
  20.     <servlet-name>Faces Servlet</servlet-name> 
  21.     <url-pattern>*.jsf</url-pattern> 
  22.   </servlet-mapping> 

注意Listener是Servlet API的V2.3版本后才引入的特性,如果使用Servlet 2.2容器,則需要使用ContextLoaderServlet來實現同樣的功能。

現在網上有些關于JSF前景的爭議,尤其SUN在這方面工作的滯后更令人非議。而似乎Spring的WebFlow將會更加流行。其實爭議與否,就具體的應用而言,只要能夠滿足用戶的需求即可,其余的都不是主要的因素。

【編輯推薦】

  1. Spring中XML配置文件的十二個***方法(上)
  2. Spring中XML配置文件的十二個***方法(下)
  3. 簡化Spring配置文件
  4. 多種Spring.jar詳解
  5. Spring框架的事務管理應用分析
責任編輯:佚名 來源: moonstone2007
相關推薦

2009-06-23 13:21:26

JSF和Spring

2009-09-23 17:56:45

JSF入門

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-29 13:22:19

JSF技術JSF組件

2009-06-23 09:33:20

FCKEditorJSFJSP

2009-06-24 15:44:59

JSF的加減法Seam

2009-06-23 17:54:41

OSGi與JSF

2011-07-08 17:26:38

JSFStruts

2009-06-25 11:11:25

控制JSF切入點

2009-06-24 17:05:10

2009-06-19 15:28:03

SpringHibernate

2009-06-19 16:25:34

Flex與Spring

2009-06-24 09:19:56

JSF標記JSTL標記

2009-06-22 16:19:40

Acegi安全系統JSF

2009-06-23 16:29:51

JSFSpring MVCStruts 2

2009-07-14 13:08:55

WebWork與Spr

2009-06-22 16:42:26

JSF的工作方式

2009-06-25 13:03:48

JSF的UI組件

2025-01-23 08:53:15

2009-06-26 14:06:08

JSF基礎框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三级成人片 | 中文字幕在线观看一区二区 | 欧美日韩高清一区 | 国产一区二区三区四区五区加勒比 | 天天操综合网 | 老妇激情毛片免费 | 国产亚洲精品一区二区三区 | 97视频在线观看网站 | 午夜影视免费片在线观看 | 天堂一区二区三区四区 | 免费视频久久 | 午夜精品一区二区三区在线观看 | a在线视频 | 欧美视频在线播放 | 亚洲成人精品一区 | 久久日韩精品 | 色综合色综合 | 精品国产欧美在线 | 久久最新精品 | 色狠狠一区 | 国产伦精品一区二区三区照片91 | 欧美一区视频 | 在线国产一区二区 | 欧美 日韩 中文 | 日日碰狠狠躁久久躁婷婷 | 色婷婷综合成人av | 欧美一级在线视频 | 精品国产乱码久久久久久果冻传媒 | 免费观看一级特黄欧美大片 | 久久国产精品免费一区二区三区 | 日韩欧美不卡 | 国产午夜精品视频 | 在线观看亚洲精品 | 色站综合 | 一区在线播放 | 成年视频在线观看福利资源 | 亚洲成人午夜电影 | 久久精品91久久久久久再现 | 超碰伊人久久 | 亚洲日韩中文字幕一区 | 成人免费毛片片v |