偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

升級(jí)JSF1.2的艱難之旅

開發(fā) 后端
本文介紹把JSF從1.1升級(jí)JSF1.2,這個(gè)過(guò)程中暴漏出JSF的一些不足。

最近由于項(xiàng)目的要求需要把JSF從1.1升級(jí)JSF1.2,這個(gè)過(guò)程中暴漏出JSF的一些不足,如下:

一,原來(lái)在1.1下運(yùn)行很正常的backing bean 不再正常了,調(diào)試之后發(fā)現(xiàn)有些backing bean 竟然是使用的包級(jí)私有的構(gòu)造函數(shù),但是很納悶怎么在1.1下正常而1.2下就實(shí)例化不了,可能是JSF 1.1 的實(shí)現(xiàn)中是利用反射機(jī)制進(jìn)行backing bean的初始化吧,而1.2又改成調(diào)用backing bean 的默認(rèn)構(gòu)造函數(shù)了,所以碰到包級(jí)私有構(gòu)造函數(shù)的backin bean 才出現(xiàn)無(wú)法實(shí)例化的異常吧。

二,JSF提供的組件中的那個(gè)SelectOneMenu個(gè)人認(rèn)為有一個(gè)不足之處,如果服務(wù)器端初始化組件樹時(shí)候有四個(gè)待選項(xiàng),到了客戶端頁(yè)面通過(guò) ajax對(duì)待選項(xiàng)進(jìn)行了修改,比如改成了五個(gè),這中情況下你頁(yè)面中的所有command類型的組件的方法綁定都會(huì)失效,跟蹤JSF源碼發(fā)現(xiàn)這個(gè) SelectOneMenu的Render中首先進(jìn)行了一個(gè)個(gè)人認(rèn)為畫蛇添足的校驗(yàn),它首先校驗(yàn)?zāi)闾峤簧蟻?lái)的那個(gè)值是否在組件初始化時(shí)候提供的待選項(xiàng)內(nèi),如果不是待選項(xiàng)中的某個(gè)則直接生命周期最后階段并忽略了中間的所有處理,包括你的方法綁定,這個(gè)問(wèn)題很隱蔽,一般很難發(fā)現(xiàn),這個(gè)校驗(yàn)個(gè)人認(rèn)為為客戶端使用 AJAX帶來(lái)了很大的麻煩,動(dòng)態(tài)修改下來(lái)菜單的選項(xiàng)是很普通的ajax應(yīng)用了(比如多級(jí)聯(lián)動(dòng)下拉菜單),為了給SelectOneMenu提供ajax能力我不得不重新實(shí)現(xiàn)了一個(gè)SelectOneMenu,現(xiàn)在我把工程升級(jí)JSF1.2,才發(fā)現(xiàn)JSF1.2的核心api正如官方所言沒有重大改動(dòng),只是統(tǒng)一了EL,但同時(shí)我確發(fā)現(xiàn)JSF的一些“不重要”的API改動(dòng)確很大,我自己開發(fā)的組件用了1.1中的**util類,可是現(xiàn)在發(fā)現(xiàn)那些靜態(tài)方法現(xiàn)在都沒有了,這時(shí)不得不再次重新寫一個(gè)SelectOneMenu,這回一點(diǎn)兒它的**util類也不用,免的下回升級(jí)JSF1.2還重寫。

三,JSF 1.1 RI中的commandLink居然把dom中的onClick()自己占用了,發(fā)現(xiàn)JSF1.2 RI又還回來(lái)了,這點(diǎn)還是做的不錯(cuò)的,不過(guò)卻發(fā)現(xiàn)JSF組件ID系統(tǒng)自動(dòng)生成的算法改了,1.1中如果你沒有給頁(yè)面上的組件指定ID那么JSF會(huì)按照某種算法自動(dòng)生成一個(gè),可是1.2中不但為這個(gè)自動(dòng)生成id的行為增加了一個(gè)“開關(guān)”,而且生成算法也改了,這回麻煩大了,當(dāng)初項(xiàng)目組中很多成員比較懶,頁(yè)面中的javascript直接就是用的那個(gè)自動(dòng)生成的ID,這回生成算法一改頁(yè)面中的大部分javascript都癱瘓了,唉,懶人??!

四,原來(lái)1.1與Spring整合的時(shí)候發(fā)現(xiàn)Spring提供的JSF變量解析器只能整合MyFaces,不得不使用了jsf-spring.jar進(jìn)行jsf RI+spring整合,現(xiàn)在突然發(fā)現(xiàn)JSF1.2 RI終于可以直接使用spring的變量解析器進(jìn)行整合了,這點(diǎn)兒還是不錯(cuò)的。表?yè)P(yáng)一下!

五,原來(lái)項(xiàng)目中的上傳下載使用了MyFaces的tomahawk組件包中的部分組件,可是到apache的網(wǎng)戰(zhàn)上一看雖然MyFaces-core出了1.2版本,但是tomahawk還仍然停留在1.1,唉!組件版本不兼容的煩惱啊!

小毛病還有很多就不一一列舉了,總體一句話,JSF還真是有待進(jìn)一步發(fā)展?。?/P>

【編輯推薦】

  1. 使JSF支持帶有HTMLMessage
  2. JSF如何使用ExternalContext
  3. 在JSF應(yīng)用中捕捉managed-bean構(gòu)造方法
  4. OSGi與JSF結(jié)合開發(fā)
  5. 淺談JSF的生命周期和對(duì)ajax處理的影響
責(zé)任編輯:佚名 來(lái)源: JavaEye
相關(guān)推薦

2009-06-25 11:21:36

JSF流行名詞

2011-08-10 10:33:18

路由器Cisco

2009-06-10 16:11:28

JavaFX SDK升級(jí)

2009-06-25 11:11:25

控制JSF切入點(diǎn)

2009-06-23 14:25:41

JavaFX1.2

2016-06-14 03:59:00

WWDC蘋果開發(fā)者大會(huì)

2009-09-23 17:56:45

JSF入門

2009-06-22 16:42:26

JSF的工作方式

2009-06-23 13:21:26

JSF和Spring

2009-06-17 15:18:38

JSF與Spring

2009-06-25 13:03:48

JSF的UI組件

2009-06-29 13:22:19

JSF技術(shù)JSF組件

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-26 14:06:08

JSF基礎(chǔ)框架

2021-06-21 09:46:44

軟件工業(yè) 技術(shù)

2009-06-22 15:35:31

JSF和Struts

2011-07-21 17:11:09

AjaxJSF

2009-06-22 14:07:46

JSF優(yōu)勢(shì)

2021-05-31 07:49:58

物聯(lián)網(wǎng)OTA軟件

2012-02-24 15:25:45

ibmdw
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)