锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产AV无码专区亚洲AV蜜芽,亚洲综合区小说区激情区,亚洲男人天堂2020 http://www.tkk7.com/bingle/category/14552.html鏈澶х殑鍠滄偊錛岃帿榪囦簬鎶鏈殑榪涙 錛?
鍧氬畾姊︽兂錛屾瘯鐢熻拷姹? zh-cn Wed, 11 Apr 2007 14:14:18 GMT Wed, 11 Apr 2007 14:14:18 GMT 60 [杞琞Ibatis寮鍙慏emo http://www.tkk7.com/bingle/archive/2007/04/11/109931.html鍐版氮 鍐版氮 Wed, 11 Apr 2007 08:08:00 GMT http://www.tkk7.com/bingle/archive/2007/04/11/109931.html http://www.tkk7.com/bingle/comments/109931.html http://www.tkk7.com/bingle/archive/2007/04/11/109931.html#Feedback 0 http://www.tkk7.com/bingle/comments/commentRss/109931.html http://www.tkk7.com/bingle/services/trackbacks/109931.html 闃呰鍏ㄦ枃 ]]> [杞琞涓轟綍涓嶄嬌鐢╯pring銆乻truts2銆乪asyjweb絳夊紑婧愭鏋?/title> http://www.tkk7.com/bingle/archive/2007/04/11/109876.html鍐版氮 鍐版氮 Wed, 11 Apr 2007 05:25:00 GMT http://www.tkk7.com/bingle/archive/2007/04/11/109876.html http://www.tkk7.com/bingle/comments/109876.html http://www.tkk7.com/bingle/archive/2007/04/11/109876.html#Feedback 1 http://www.tkk7.com/bingle/comments/commentRss/109876.html http://www.tkk7.com/bingle/services/trackbacks/109876.html 闃呰鍏ㄦ枃 ]]> [杞琞Java EE 5.0鑳藉彇浠truts錛孲pring鍜孒ibernate鍚楋紵 http://www.tkk7.com/bingle/archive/2007/03/28/107059.html鍐版氮 鍐版氮 Wed, 28 Mar 2007 12:32:00 GMT http://www.tkk7.com/bingle/archive/2007/03/28/107059.html http://www.tkk7.com/bingle/comments/107059.html http://www.tkk7.com/bingle/archive/2007/03/28/107059.html#Feedback 0 http://www.tkk7.com/bingle/comments/commentRss/107059.html http://www.tkk7.com/bingle/services/trackbacks/107059.html 闃呰鍏ㄦ枃 ]]> [杞琞Struts2涓嶴truts1鐨勫姣? http://www.tkk7.com/bingle/archive/2007/01/15/93966.html鍐版氮 鍐版氮 Mon, 15 Jan 2007 07:33:00 GMT http://www.tkk7.com/bingle/archive/2007/01/15/93966.html http://www.tkk7.com/bingle/comments/93966.html http://www.tkk7.com/bingle/archive/2007/01/15/93966.html#Feedback 0 http://www.tkk7.com/bingle/comments/commentRss/93966.html http://www.tkk7.com/bingle/services/trackbacks/93966.html Action 綾? 鈥?Struts1瑕佹眰Action綾葷戶鎵夸竴涓娊璞″熀綾匯係truts1鐨勪竴涓櫘閬嶉棶棰樻槸浣跨敤鎶借薄綾葷紪紼嬭屼笉鏄帴鍙c? 鈥?Struts 2 Action綾誨彲浠ュ疄鐜頒竴涓狝ction鎺ュ彛錛屼篃鍙疄鐜板叾浠栨帴鍙o紝浣垮彲閫夊拰瀹氬埗鐨勬湇鍔℃垚涓哄彲鑳姐係truts2鎻愪緵涓涓狝ctionSupport鍩虹被鍘誨疄鐜?甯哥敤鐨勬帴鍙c侫ction鎺ュ彛涓嶆槸蹇呴』鐨勶紝浠諱綍鏈塭xecute鏍囪瘑鐨凱OJO瀵硅薄閮藉彲浠ョ敤浣淪truts2鐨凙ction瀵硅薄銆? 綰跨▼妯″紡: 鈥?Struts1 Action鏄崟渚嬫ā寮忓茍涓斿繀欏繪槸綰跨▼瀹夊叏鐨勶紝鍥犱負浠呮湁Action鐨勪竴涓疄渚嬫潵澶勭悊鎵鏈夌殑璇鋒眰銆傚崟渚嬬瓥鐣ラ檺鍒朵簡Struts1 Action鑳戒綔鐨勪簨錛屽茍涓旇鍦ㄥ紑鍙戞椂鐗瑰埆灝忓績銆侫ction璧勬簮蹇呴』鏄嚎紼嬪畨鍏ㄧ殑鎴栧悓姝ョ殑銆? 鈥?Struts2 Action瀵硅薄涓烘瘡涓涓姹備駭鐢熶竴涓疄渚嬶紝鍥犳娌℃湁綰跨▼瀹夊叏闂銆傦紙瀹為檯涓婏紝servlet瀹瑰櫒緇欐瘡涓姹備駭鐢熻澶氬彲涓㈠純鐨勫璞★紝騫朵笖涓嶄細瀵艱嚧鎬ц兘鍜屽瀮鍦懼洖鏀墮棶棰橈級
Servlet 渚濊禆: 鈥?Struts1 Action 渚濊禆浜嶴ervlet API ,鍥犱負褰撲竴涓狝ction琚皟鐢ㄦ椂HttpServletRequest 鍜?HttpServletResponse 琚紶閫掔粰execute鏂規硶銆? 鈥?Struts 2 Action涓嶄緷璧栦簬瀹瑰櫒錛屽厑璁窤ction鑴辯瀹瑰櫒鍗曠嫭琚祴璇曘傚鏋滈渶瑕侊紝Struts2 Action浠嶇劧鍙互璁塊棶鍒濆鐨剅equest鍜宺esponse銆備絾鏄紝鍏朵粬鐨勫厓绱犲噺灝戞垨鑰呮秷闄や簡鐩存帴璁塊棶HttpServetRequest 鍜?HttpServletResponse鐨勫繀瑕佹с?
鍙祴鎬? 鈥?嫻嬭瘯Struts1 Action鐨勪竴涓富瑕侀棶棰樻槸execute鏂規硶鏆撮湶浜唖ervlet API錛堣繖浣垮緱嫻嬭瘯瑕佷緷璧栦簬瀹瑰櫒錛夈備竴涓涓夋柟鎵╁睍錛嶏紞Struts TestCase錛嶏紞鎻愪緵浜嗕竴濂桽truts1鐨勬ā鎷熷璞★紙鏉ヨ繘琛屾祴璇曪級銆? 鈥?Struts 2 Action鍙互閫氳繃鍒濆鍖栥佽緗睘鎬с佽皟鐢ㄦ柟娉曟潵嫻嬭瘯錛屸滀緷璧栨敞鍏モ濇敮鎸佷篃浣挎祴璇曟洿瀹規槗銆?
鎹曡幏杈撳叆: 鈥?Struts1 浣跨敤ActionForm瀵硅薄鎹曡幏杈撳叆銆傛墍鏈夌殑ActionForm蹇呴』緇ф壙涓涓熀綾匯傚洜涓哄叾浠朖avaBean涓嶈兘鐢ㄤ綔ActionForm錛屽紑鍙戣呯粡甯稿垱寤哄浣欑殑綾繪崟鑾瘋緭鍏ャ傚姩鎬丅ean錛圖ynaBeans錛夊彲浠ヤ綔涓哄垱寤轟紶緇烝ctionForm鐨勯夋嫨錛屼絾鏄紝寮鍙戣呭彲鑳芥槸鍦ㄩ噸鏂版弿榪?鍒涘緩)宸茬粡瀛樺湪鐨凧avaBean錛堜粛鐒朵細瀵艱嚧鏈夊啑浣欑殑javabean錛夈? 鈥?Struts 2鐩存帴浣跨敤Action灞炴т綔涓鴻緭鍏ュ睘鎬э紝娑堥櫎浜嗗絎簩涓緭鍏ュ璞$殑闇姹傘傝緭鍏ュ睘鎬у彲鑳芥槸鏈夎嚜宸?瀛?灞炴х殑rich瀵硅薄綾誨瀷銆侫ction灞炴ц兘澶熼氳繃web欏甸潰涓婄殑taglibs璁塊棶銆係truts2涔熸敮鎸丄ctionForm妯″紡銆俽ich瀵硅薄綾誨瀷錛屽寘鎷笟鍔″璞★紝鑳藉鐢ㄤ綔杈撳叆/杈撳嚭瀵硅薄銆傝繖縐峂odelDriven 鐗規х畝鍖栦簡taglib瀵筆OJO杈撳叆瀵硅薄鐨勫紩鐢ㄣ?
琛ㄨ揪寮忚璦錛? 鈥?Struts1 鏁村悎浜咼STL錛屽洜姝や嬌鐢↗STL EL銆傝繖縐岴L鏈夊熀鏈璞″浘閬嶅巻錛屼絾鏄闆嗗悎鍜岀儲寮曞睘鎬х殑鏀寔寰堝急銆? 鈥?Struts2鍙互浣跨敤JSTL錛屼絾鏄篃鏀寔涓涓洿寮哄ぇ鍜岀伒媧葷殑琛ㄨ揪寮忚璦錛嶏紞"Object Graph Notation Language" (OGNL).
緇戝畾鍊煎埌欏甸潰錛坴iew錛? 鈥?Struts 1浣跨敤鏍囧噯JSP鏈哄埗鎶婂璞$粦瀹氬埌欏甸潰涓潵璁塊棶銆? 鈥?Struts 2 浣跨敤 "ValueStack"鎶鏈紝浣縯aglib鑳藉璁塊棶鍊艱屼笉闇瑕佹妸浣犵殑欏甸潰錛坴iew錛夊拰瀵硅薄緇戝畾璧鋒潵銆俈alueStack絳栫暐鍏佽閫氳繃涓緋誨垪鍚嶇О鐩稿悓浣嗙被鍨嬩笉鍚岀殑灞炴ч噸鐢ㄩ〉闈紙view錛夈? 銆 綾誨瀷杞崲錛? 鈥?Struts 1 ActionForm 灞炴ч氬父閮芥槸String綾誨瀷銆係truts1浣跨敤Commons-Beanutils榪涜綾誨瀷杞崲銆傛瘡涓被涓涓漿鎹㈠櫒錛屽姣忎竴涓疄渚嬫潵璇存槸涓嶅彲閰嶇疆鐨勩? 鈥?Struts2 浣跨敤OGNL榪涜綾誨瀷杞崲銆傛彁渚涘熀鏈拰甯哥敤瀵硅薄鐨勮漿鎹㈠櫒銆?
鏍¢獙錛? 鈥?Struts 1鏀寔鍦ˋctionForm鐨剉alidate鏂規硶涓墜鍔ㄦ牎楠岋紝鎴栬呴氳繃Commons Validator鐨勬墿灞曟潵鏍¢獙銆傚悓涓涓被鍙互鏈変笉鍚岀殑鏍¢獙鍐呭錛屼絾涓嶈兘鏍¢獙瀛愬璞°? 鈥?Struts2鏀寔閫氳繃validate鏂規硶鍜孹Work鏍¢獙妗嗘灦鏉ヨ繘琛屾牎楠屻俋Work鏍¢獙妗嗘灦浣跨敤涓哄睘鎬х被綾誨瀷瀹氫箟鐨勬牎楠屽拰鍐呭鏍¢獙錛屾潵鏀寔chain鏍¢獙瀛愬睘鎬?
Action鎵ц鐨勬帶鍒訛細 鈥?Struts1鏀寔姣忎竴涓ā鍧楁湁鍗曠嫭鐨凴equest Processors錛堢敓鍛藉懆鏈燂級錛屼絾鏄ā鍧椾腑鐨勬墍鏈堿ction蹇呴』鍏變韓鐩稿悓鐨勭敓鍛藉懆鏈熴? 鈥?Struts2鏀寔閫氳繃鎷︽埅鍣ㄥ爢鏍堬紙Interceptor Stacks錛変負姣忎竴涓狝ction鍒涘緩涓嶅悓鐨勭敓鍛藉懆鏈熴傚爢鏍堣兘澶熸牴鎹渶瑕佸拰涓嶅悓鐨凙ction涓璧蜂嬌鐢ㄣ?br />
]]>[杞琞鍒氬垰鍑虹倝鐨?錛嶏紞錛岼SF1.2鏂扮壒鎬?/title> http://www.tkk7.com/bingle/archive/2006/12/21/89205.html鍐版氮 鍐版氮 Thu, 21 Dec 2006 02:11:00 GMT http://www.tkk7.com/bingle/archive/2006/12/21/89205.html http://www.tkk7.com/bingle/comments/89205.html http://www.tkk7.com/bingle/archive/2006/12/21/89205.html#Feedback 0 http://www.tkk7.com/bingle/comments/commentRss/89205.html http://www.tkk7.com/bingle/services/trackbacks/89205.html 娉細姝ゆ枃涓鴻漿杞借嚜dev2dev錛?a >http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=35942 鏈鏂扮炕璇戠殑錛?br /> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽 JSF1.2鎶鏈殑鏂扮壒鎬ф葷粨 鏈枃鐨勪富瑕佸唴瀹癸細 聽 聽聽聽 鈥淲eb Tier to Go With Java EE 5鈥濈郴鍒楁枃绔犱腑錛屸淛SF1.2鏂扮壒鎬р濇槸絎竴綃囥傚氨鍍忓湪鏂囦腑琛ㄨ堪鐨勪竴鏍鳳紝JSP鎶鏈殑浼樺娍闅忕潃JSF鎶鏈殑鍙戝睍寰楀埌浜嗚繘涓姝ョ殑鎵╁ぇ錛岃繖縐嶄紭鍔挎槸閫氳繃緇熶竴EL琛ㄨ揪寮忓緩绔嬭搗鏉ョ殑銆傜粺涓JSP鐨勬鏋朵篃鏄疛SF1.2鎶鏈腑浼楀閲嶈鎴愮嘩涔嬩竴錛屽茍鍦↗SR252瑙勮寖涓嬭繘琛屽紑鍙戙傞櫎浜嗚繖浜涘彉鍖栦負錛孞SF鎶鏈繕璐$尞浜嗗ぇ閲忕殑閲嶈鐨勫鏄撲嬌鐢ㄧ殑鐗規с傝繖綃囨枃绔犵畝瑕佺殑鎻忚堪涓浜涢噸瑕佺殑鍩烘湰鐗規э紝澶ф鏈夊涓嬪嚑鐐癸細 * 緇熶竴JSP鎶鏈?br />聽 * 鏀硅繘鑷畾涔変俊鎭殑鏀寔 * 鎻愪緵鐘舵佷繚瀛樼壒鎬?br />* 鑳藉鍏抽棴鑷姩鐢熸垚緇勪歡瀹㈡埛绔疘D * 鏂扮殑setPropertyActionListener鏍囩 銆奐avaServer Faces瑙勮寖銆嬬殑鍓嶈█閮ㄥ垎鎻愪緵浜嗕竴緇勫畬鎴愮殑鐗規ф弿榪般?br /> 緇熶竴JSP鎶鏈細 聽聽聽聽聽 JSP鍜孞SF鎶鏈浉瀵圭珛鐨勬牳蹇冩槸瀹冧滑涔嬮棿鐨勯〉闈㈢敓鍛藉懆鏈熺殑涓嶅悓銆傚湪浠ュ墠鐨勬枃绔犱腑宸茬粡浠嬬粛浜咼SP瑙勮寖錛孞SP瑙勮寖鎸囧嚭錛氶〉闈㈢殑鍏冪礌琚墽琛屾樉紺烘椂錛孞SP鏀寔鍗曚竴鐨勨滄覆鏌擄紞鍝嶅簲鈥濈敓鍛藉懆鏈燂紝 鐒跺悗绔嬪嵆娓叉煋欏甸潰銆侸SF鐨勭敓鍛藉懆鏈熷垎鎴愪簡澶氫釜闃舵錛屽綋涓涓粍浠舵爲琚垱寤哄畬姣曪紝緇勪歡鐨勬暟鎹氨浼氳澶勭悊錛岀劧鍚庣粍浠惰娓叉煋騫舵樉紺哄湪欏甸潰涓娿傜劧鑰岋紝涓涓狫SF欏甸潰騫朵笉闇瑕佸湪鎵ц鍚庣珛鍗蟲覆鏌撱傚洜姝わ紝鍦↗SP欏甸潰涓婁嬌鐢ㄧ殑JSF緇勪歡琚覆鏌撴椂錛屾湁鏃跺欏茍涓嶆槸鎸夌収姝e父鐨勯『搴忓畬鎴愶紝鑰屼笖浼氫涪澶辯粍浠剁殑涓浜涚姸鎬佹垨鑰呭叾浠栫殑闂浜х敓銆?br />榪欎箞鏂囩珷娑夊強鍒癑SP2.1鐨勬柊鐗規с傝繖閲屼細浠庝竴涓?涓柟闈㈣緇嗙殑浠嬬粛JSF鎶鏈殑鏀硅繘鐨勫湴鏂癸細 * 棣栧厛JSF緇勪歡鏀寔JSTL鐨刦orEach鏍囩 * 鏀硅繘tree緇勪歡鍒涘緩鏂規硶鍜屽唴瀹圭粍緇?br />* 鍙嶅鍙嬌鐢↗SF鎶鏈殑EL錛岃禐鎴愪嬌鐢ㄧ粺涓鐨凟L 聽聽聽聽聽聽 棣栧厛JSF緇勪歡鏀寔JSTL鐨凢orEach鏍囩灝卞儚鍦ㄦ弿榪癑SP鎶鏈柊鐗規х殑鏂囩珷涓〃榪扮殑涓鏍鳳紝Java EE web灞備腑鐨勭粺涓EL鐨勪竴涓柊鐗規у氨鏄細榪唬鏍囩錛屼緥濡侸STL鐨刦orEach鑳藉鍦↗SF緇勪歡涓洿鎺ヤ嬌鐢ㄣ備緥濡傦紝浣跨敤杈撳叆緇勪歡鏋勫緩涓涓畝鍗曠殑琛ㄦ牸錛屽彲浠ラ氳繃涓嬪垪浠g爜鏉ュ疄鐜幫細 <table> <tr> <th>Item Name</th> 聽聽聽聽聽聽聽聽 <th>Item Price</th> <th>Item Quantity</th> </tr> <c:forEach var="item" items="#{shoppingCart.items}"> <tr> 聽聽聽聽聽聽聽 <td><h:outputText value="#{item.name}" /></td> 聽聽聽聽聽聽聽 <td><h:outputText value="#{item.price}" /></td> 聽聽聽聽聽聽聽 <td><h:inputText value="#{item.quantity}" /></td> </tr> </c:forEach> <h:commandButton value="update quantities" action="update" /> </table> 娌℃湁緇熶竴浣跨敤EL錛?榪欏嚑涔庢槸涓嶅彲鑳藉疄鐜扮殑銆?br /> 鏀硅繘tree緇勪歡鍒涘緩鏂規硶鍜屽唴瀹圭粍緇?br /> 聽聽聽聽聽聽 鍦℉ans Bergsten鐨勩奱rticle about the use of JavaServer Faces technology with JSP pages銆嬫枃涓啓鍒扮殑錛屾販鍚堜嬌鐢↗SP浠g爜鍜孞SF鏍囩鏈夋椂鍊欎細浜х敓棰勬湡涓嶅埌鐨勭粨鏋溿備緥濡傦紝鍦ㄤ笅闈㈢殑浠g爜涓紝JSF 緇勪歡outputText杈撳嚭鐨勬枃鏈唴瀹光淗i鈥濇湰鏉ュ簲璇ュ湪鏂囨湰鍐呭鈥渨hat鈥檚 your name?鈥濆墠闈㈡樉紺猴細 <h:panelGroup> 聽聽聽聽聽聽聽聽聽 <h:outputText value="Hi. "/> 聽聽聽聽聽聽聽聽聽聽聽聽 What's your name? 聽聽聽聽聽 </h:panelGroup> 鐒惰岋紝榪欎袱琛屼唬鐮佺殑杈撳嚭鏄『搴忔槸鐩稿弽鐨勩傛槸浠涔堝鑷翠簡闂鐨勫彂鐢燂紵JSF鐨勫疄鐜版槸浠SP鐨勬覆鏌撳紩鎿庢潵娓叉煋緇勪歡鏍戠殑銆傚洜涓篔SP浼氱珛鍗蟲墽琛屽茍鎶婇潤鎬佹枃鏈唴瀹規斁鍦╮esponse涓紝鑰?lt;panelGroup>鐨勫瓙鑺傜偣鏍囩鐩村埌鐩稿簲鐨勭粨鏉熸爣絳?lt;/panelGroup>鍖歸厤鍚庢墠浼氳娓叉煋錛屾墍浠モ渨hat鈥檚 your name?鈥濆氨浼氬湪鈥淗i鈥濅箣鍓嶆樉紺轟簡銆?br />鍍忚繖鏍風殑闂鍦℉ans Bergsten鐨勬枃涓凡緇忔彁鍒板茍鍦↗SF1.2鐗堟湰涓緱鍒頒簡淇敼銆傝В鍐蟲柟妗堝寘鎷細鎬庢牱鏀瑰彉緇勪歡鏍戠殑鍒涘緩銆佸悇縐嶅唴瀹圭殑澶勭悊鍜屾覆鏌撶瓑絳夈傛渶閲嶈鐨勬敼鍙樺涓嬪嚑鐐癸細 * 鍒涘緩鍜屾覆鏌撶粍浠舵爲琚垎鎴?姝ワ紝涓轟簡闃叉JSP寮曟搸榪囨棭鐨勬覆鏌撻〉闈㈠唴瀹廣?br />* 鎵鏈夌殑娓叉煋鍣ㄧ殑rendersChildren灞炴у肩幇鍦ㄥ凡緇忚璁′負鈥渢rue鈥濓紝鐩殑鏃墮槻姝㈣仈鍚堢粍浠剁殑鍐呭鍦ㄥ悇鑷殑緇勪歡鍐呴儴鍒嗗埆娓叉煋銆?br />* 鏍囩鍐呴儴鐨勯潤鎬佸唴瀹瑰搴旂殑娓叉煋鍣ㄧ殑rendersChildren灞炴у艱緗負true錛岀洰鐨勬槸鑾峰彇騫朵繚瀛樹竴涓煭鏆傜殑UIOutput緇勪歡騫舵妸璇ョ粍浠舵坊鍔犲埌緇勪歡鏍戜腑銆?br />* 鐘舵佺鐞嗗櫒浠嶸iewTag涓Щ鍒頒簡ViewHandler涓紝涓轟簡闃叉write State鍦ㄥ疄闄呬繚瀛樿繃紼嬩腑琚皟鐢ㄣ?br />聽聽聽聽聽聽 鍦ㄦ帴涓嬫潵鐨勨淲eb Tier to Go With Java EE 5鈥濈郴鍒楁枃绔犱腑浼氭彁渚涙洿澶氱殑鍏充簬鎻忚堪緇勪歡鏍戠殑鍒涘緩鍜屽唴瀹圭粍緇囩殑緇嗚妭錛岃繖灝辮JSF鏍囩緇勪歡涓嬌鐢↗SP浠g爜鎴愪負浜嗗彲鑳姐?br /> 鍙嶅鍙嬌鐢↗SF鐨凟L錛岃禐鎴愪嬌鐢ㄧ粺涓鐨凟L 聽聽聽聽聽聽 濡傛湰鏂囧墠闈㈢殑鍐呭浠嬬粛錛孞SP鍜孞SF鐨凟L琛ㄨ揪寮忎細鏁村悎鎴愮粺涓鐨凟L銆傝繖灝辨剰鍛崇潃鐜板湪鐨凧SF鐨凟L鏄笉鎺ㄨ崘浣跨敤鐨勩傚湪浠嬬粛緇熶竴鐨凟L鍓嶅凡緇忎嬌鐢ㄤ簡JSF寮鍙戠殑搴旂敤錛岃鍔″繀鍋氬ソ鍏鋒湁鍚戝悗鍏煎鐨勫伐浣溿?br />聽聽聽聽聽聽 鐒惰岋紝涓轟簡鍒╃敤緇熶竴EL鐨勭壒鎬э紝浣犲彲鑳介渶瑕佹敼鍙樺師鏉ヨ嚜瀹氬簲鐨勭粍浠跺拰鑷畾涔夌殑鏍囩銆傝縐繪鍒扮粺涓EL錛岄鍏堣鎶奦alueBinding鎹㈡垚ValueExpression錛屾妸MethodBinding鎹㈡垚MethodException銆傝繖浜涙敼鍙橀兘鐩稿鐨勫鏄擄紝鑰屼笖榪樻湁鏇村ソ鐨勫姙娉曞彲浠ュ畬鎴愯繖浜涙敼鍙樸備緥濡傦紝鍥犱負鎵鏈夋爣鍑嗙殑鏍囪灞炴ч兘鍙互璁塊棶鍊艱〃杈懼紡錛屼綘鐨勬爣璁板鐞嗙▼搴忎笉闇瑕佹嫻嬪睘鎬ф槸鍙互鎺ユ敹銆佽闂竴涓艱〃杈懼紡銆?br />聽聽聽聽聽 瑕佷簡瑙f洿澶氬叧浜庡浣曠Щ妞嶅埌緇熶竴EL鐨勫唴瀹癸紝璇峰弬瑙佹枃绔犫淯nified Expression Language鈥?http://java.sun.com/products/jsp/reference/techart/unifiedEL.html) 鏀硅繘鏄撶敤鎬ф潵鏀寔鑷畾涔変俊鎭?br /> 聽聽聽聽聽 JSF1.2鎶鏈殑涓涓噸瑕佹敼榪涘氨鏄湪JSF搴旂敤涓鍔犺嚜瀹氫箟淇℃伅鐨勮兘鍔涖傝繖涓敼榪涘寘鎷涓嬪嚑涓柟闈細 * 涓緇勬柊鐨勬爣鍑嗚漿鎹俊鎭?br />* 瀵硅緭鍏ョ粍浠舵彁渚涗簡鏂扮殑灞炴э細requiredMessage銆乧onverterMessage銆乿alidatorMessage * 涓鴻緭鍏ョ粍浠舵彁渚涗簡鏂扮殑label灞炴э紝鍏佽緇勪歡鐨勫悕瀛椾腑鍖呭惈閿欒淇℃伅 * 鎻愪緵鏂扮殑璧勬簮緇戝畾鍏冪礌鍦ㄥ簲鐢ㄤ腑緇戝畾璧勬簮銆?br /> 涓緇勬爣鍑嗙殑杞崲鍣ㄤ俊鎭?br /> 聽聽聽聽聽 浠ュ墠鐨凧SF緇欐爣鍑嗛獙璇佸櫒鎻愪緵浜嗕竴緇勬爣鍑嗙殑閿欒淇℃伅銆傜増鏈?.2澧炲姞浜嗘爣娉ㄨ漿鎹㈠櫒鎻愪緵浜嗕竴緇勯敊璇俊鎭傝鏌ョ湅榪欎簺淇℃伅錛岃鍙傝僇SF1.2瑙勮寖(http://jcp.org/en/jsr/detail?id=252)鐨勭2.5.2.4鑺傘?br /> 鏂板睘鎬э細requiredMessage,converterMessage,validatorMessage 聽聽聽聽聽 寰堝鎯呭喌涓嬶紝鏍囧噯鐨勯敊璇彁紺轟俊鎭緢閫傚悎涓烘垜浠殑闇瑕併傚鏋滀笉鍚堥傦紝鎴戜滑鍙互浣跨敤鑷畾涔夌殑淇℃伅鏉ヨ鐩栬繖浜涙爣鍑嗙殑淇℃伅錛岃瀹屾垚涓洰鐨勶紝灝辨槸閫氳繃杈撳叆緇勪歡鐨勬柊灞炴equiredMessage銆乧onverterMessage銆乿alidatorMessage鏉ュ畬鎴愩?br />聽聽聽聽聽 褰撲綘闇瑕佷慨鏀逛俊鎭椂錛屾柊鐨勭壒鎬у厑璁鎬綘瑕嗙洊鍘熸湁鐨勪俊鎭備緥濡傦紝鍋囪浣犲湪userid鍜宲assword2涓煙涓嬌鐢ㄤ簡楠岃瘉闀垮害鐨勯獙璇佸櫒銆備綘甯屾湜涓涓敊璇俊鎭彁紺衡淯serid蹇呴』鏃?涓瓧絎︹濓紝鍙︿竴涓淧assword蹇呴』鏄?涓瓧絎︹濓紝浣嗘槸浣犲笇鏈涘榪?涓緭鍏ュ煙浣跨敤鍚屼竴涓獙璇佸櫒銆傞氳繃validatorMessage灞炴э紝浣犲彲浠ュ湪閫傚綋鐨勭粍浠朵笂璁劇疆鐗規畩鐨勪俊鎭紝灝變笉鐢ㄤ負姣忎釜楠岃瘉鍣ㄥ疄渚嬫彁渚涘崟鐙殑鎻愮ず淇℃伅銆?br />聽聽聽聽聽 榪欎簺灞炴ф帴鏀跺瓧絎﹀瀷鐨勫間互鍙婂艱〃杈懼紡錛屽拰JSF鐨勬爣璁板睘鎬т竴鏍風殑宸ヤ綔鍘熺悊銆傚洜姝わ紝浣犲彲浠ヤ嬌鐢ㄥ艱〃杈懼紡鏉ュ紩鐢ㄧ粦瀹氳祫婧愪腑鐨勪俊鎭紝濡備笅闈㈢殑渚嬪瓙錛?br /><h:inputText value="#{customer.userID}" 聽聽聽聽聽聽聽聽聽聽聽聽聽 validatorMessage="#{customMessages.userIdMessage}" > 聽聽聽聽聽聽聽聽聽聽聽聽 <f:validateLongRange minimum="9" maximum="9"/> 聽聽聽聽 </h:inputText> 聽聽聽聽聽 灝卞儚浣犵寽鎯崇殑涓鏍鳳紝杈撳叆緇勪歡鐨勫睘鎬equiredMessage鍊艱鐩栦簡榛樿鐨勪俊鎭彁紺恒傝緭鍏ョ粍浠剁殑灞炴onverterMessage鍊艱鐩栦簡榛樿鐨勮漿鎹俊鎭彁紺恒傚悓鏍風殑錛岃緭鍏ョ粍浠剁殑灞炴alidatorMessage鍊間篃瑕嗙洊浜嗛粯璁ょ殑楠岃瘉淇℃伅鎻愮ず銆?br />聽聽聽聽聽 鍥犱負榪欑鐗規э紝欏甸潰寮鍙戜漢鍛樼幇鍦ㄥ彲浠ユ洿涓哄悎閫傜殑鎻愪緵閿欒鐨勬彁紺轟俊鎭傝繖鏍鳳紝鐢ㄦ埛鑳藉鏇村噯紜殑鐩村埌閿欒鐨勬牴婧愩?br /> 杈撳叆緇勪歡鐨勬柊灞炴э細label 聽聽聽聽聽 杈撳叆緇勪歡鐨刲abel鏂板睘鎬ф槸鍙﹀涓涓府鍔╃敤鎴風‘璁ら敊璇俊鎭殑閲嶈鐗規с傝澶氱敱緇勪歡浜х敓鐨勬爣鍑嗛敊璇俊鎭寘鎷牴鎹弬鏁板緱鍒扮殑淇℃伅銆傝緭鍏ョ粍浠剁殑label灞炴у兼槸鐢ㄦ潵閫傚綋鍙栦唬鐩稿叧鐨勯粯璁や俊鎭殑銆備緥濡傦紝涓嬮潰鐨勪俊鎭槸涓嶥ateTimeConverter鐩稿叧鐨勪俊鎭紝鐢―ATE_ID鏍囪瘑錛?br />聽聽聽聽聽 {2}: "{0}" could not be understood as a date. 榪欏氨鏄錛屼綘鏈変竴涓狣ateTimeConverter瀹炰緥錛屽茍涓庝竴涓枃鏈緭鍏ユ緇戝畾銆傝緗緭鍏ョ粍浠剁殑label灞炴т負BirthDate銆傚鏋滅敤鎴峰湪鏂囨湰杈撳叆妗嗕腑杈撳叆鈥渙lder than the hills鈥濓紝杞崲鍣ㄥ氨澶辮觸浜嗐傚綋欏甸潰鍐嶆琚覆鏌撶殑鏃跺欙紝鐢ㄦ埛灝辮兘鐪嬪埌濡備笅鐨勪俊鎭彁紺猴細 聽聽聽聽聽 Birth Date: "older than the hills" could not be understood as a date. 聽聽聽聽聽 聽聽聽聽 Label緇勪歡鎺ュ彈鏂囨湰鍐呭錛屼篃鎺ュ彈鍊艱〃杈懼紡銆傛墍浠ワ紝鍦ㄤ嬌鐢ㄥ叾浠栫殑JSF鏍囩灞炴ф椂錛屼綘鍙互浣跨敤琛ㄨ揪寮忔潵寮曠敤緇戝畾鐨勮祫婧愭枃浠跺唴瀹廣?br /> 鏂扮殑璧勬簮閰嶇疆鍏冪礌 聽聽聽聽聽 JSF1.2鐗堟湰浠ュ墠鐨勮鑼冿紝欏甸潰寮鍙戜漢鍛樹嬌鐢╨oadBundle鏍囩鏉ュ紩鐢ㄨ祫婧愭枃浠訛紝浠庤岃揪鍒版湰鍦板寲鐨勭洰鐨勩傚湪鏂扮殑1.2鐗堟湰涓紝欏甸潰寮鍙戜漢鍛樹竴鏍峰彲浠ュ湪欏甸潰涓嬌鐢ㄨ祫婧愮粦瀹氥?br />鏇撮珮鏁堢巼鐨勮杞界粦瀹氬ソ鐨勮祫婧愶紝鍖呮嫭鍦ㄥ簲鐢ㄧ郴緇熺殑閰嶇疆鏂囦歡涓嬌鐢ㄨ祫婧愮粦瀹氬厓绱犺繘琛屾敞鍐岃祫婧愮殑緇戝畾錛屾柊鐨勮鑼冩彁渚涗簡涓涓緢濂界殑鍏ュ彛鏂瑰紡銆備笅闈㈢殑璧勬簮緇戝畾鍏冪礌娉ㄥ唽涓涓彨鍋氣淐ustomMessages鐨凴esourceBundle綾伙紝榪欎釜綾誨瓨鍦ㄥ簲鐢ㄧ郴緇熺殑璧勬簮鍖呴噷錛?br /><resource-bundle> 聽聽聽聽聽聽聽聽 <var>customMessages</var> 聽聽聽聽聽聽聽聽 <base-name>resources.CustomMessages</base-name> 聽聽聽聽 </resource-bundle> var瀛愬厓绱犲畾涔変簡璧勬簮寮曠敤鍚嶇О錛岄〉闈㈠紑鍙戜漢鍛樺湪寮鍙戦〉闈㈡椂鍙互閲囩敤濡備笅鐨勬柟寮忚繘琛岃皟鐢細 <h:outputText value="#{customMessages.myText}" /> 聽聽聽聽聽 鍦ㄨ繖涓緥瀛愪腑錛宮yText灝辨槸瀹氫箟鍦ㄨ祫婧愭枃浠朵腑錛屾垜浠寮曠敤鐨勪俊鎭殑閿紙key錛夈?br />閫氳繃榪欎釜鏂扮殑璧勬簮緇戝畾鍏冪礌錛屾垜浠彲浠ュ湪搴旂敤緋葷粺涓粦瀹氭洿澶氱殑璧勬簮鏂囦歡銆傝繖鏍峰仛錛屾柊鐨勫厓绱犵殑浣跨敤錛屼笉浠呮秷闄や簡鍦ㄥ涓〉闈嬌鐢ㄢ渓oadBundle鈥濈粦瀹氳祫婧愮殑鏂瑰紡錛岃屼笖澶уぇ鎻愰珮浜嗘ц兘錛屽洜涓鴻杞借祫婧愭槸寰堚滄槀璐碘濈殑鎿嶄綔銆?br /> 鎻愪緵鐘舵佷繚瀛樼壒鎬?br /> 聽聽聽聽聽聽 JSF1.2鐗堟湰鍦ㄧ姸鎬佺鐞嗘柟闈富瑕佹湁2涓彉鍖栥備竴涓彉鍖栨槸錛屽綋搴旂敤緋葷粺浣跨敤澶氫釜妗嗘灦錛坒rame錛夋垨鑰呯獥鍙?window)鏃訛紝鏁村悎緋葷粺鐘舵佺殑涓嶇ǔ瀹氶棶棰橈紱鍙︿竴涓彉鍖栨槸鎻愪緵浜嗗鎴風瀹夊叏鐘舵佹搷浣溿?br />聽聽聽聽聽 鍦ㄥ妗嗘灦鎴栬呭紿楀彛鐨勫簲鐢ㄤ腑緋葷粺鐘舵佷笉紼沖畾鐨勫師鍥犳槸榪欎簺澶嶆潅閫昏緫璇曞浘浼氭妸鏍硅鍥劇殑ID閲嶅澶嶅埗錛屽洜姝ょ姸鎬佺鐞嗗氨鍙樺緱娣蜂貢浜嗐傚湪1.2鐗堟湰涓仛浜嗕竴浜涗慨鏀癸紝鎻愪緵浜嗕竴浜涚姸鎬佺鐞嗙殑API鏉ヨВ鍐寵繖涓棶棰樸?br />聽聽聽聽聽 棣栧厛錛屽湪瑙嗗浘涓殑姣忎竴涓獥鍙o紙Window錛夋垨鑰呮鏋訛紙Frame錛夐兘鏈夊敮涓鐨処D鏍囪瘑錛岃繖涓狪D鏍囪瘑鏄鍥炬牴ID鍜屼竴涓殢鍗蟲暟鎹仈鍚堢粍鎴愶紝騫朵繚瀛樺湪涓涓殣钘忓煙涓紝鐢ㄦ潵榪炴帴紿楀彛錛圵indow錛夋垨鑰呮鏋訛紙Frame錛夈俈iewHandler涓殑writeState鏂規硶宸茬粡琚慨鏀癸紝騫剁敤鏉ョ敓鎴愬敮涓鐨処D錛屽茍涓斿湪JSF鐨勨滄覆鏌擄紞鍥炲簲鈥濋樁孌佃緭鍑哄埌瀹㈡埛绔傚彟澶栵紝encodeEnd鏂規硶涓紝UIForm涔熻淇敼錛岃瀹冨湪杈撳嚭鈥滈棴鍚堟爣絳鋸濆埌瀹㈡埛绔殑榪欎釜榪囩▼涔嬪墠璋冪敤writeState鏂規硶錛屼互渚垮琛ㄥ崟錛坒orm錛夌殑鐘舵佽淇濆瓨涓嬫潵銆?br />聽聽聽聽聽 鍚屾椂錛屽湪鐗╃悊鈥滄覆鏌擄紞鍥炲簲鈥滈樁孌碉紝StateManager鎻愪緵浜嗘渶鏂扮殑saveSerializedView鏂規硶浼氫嬌鐢ㄨ繖涓敮涓鐨処D鎶婂搴旂殑瑙嗗浘搴忓垪鍖栧埌Session涓備緥濡傦細濡傛灉鏈嶅姟鍣ㄥ穿婧冧簡錛岃繖浜涜淇濆瓨鐨勭姸鎬佸氨鑳藉湪鍙︿竴涓湇鍔″櫒涓啀嬈′嬌鐢ㄣ傛墍浠ワ紝鈥滅姸鎬侊紞淇濆瓨鈥濇満鍒跺湪JSF1.2鐗堟湰鍦ㄤ腑琚珮搴︽湁鏁堢殑鏀寔銆傛渶鍚庯紝ViewHandler綾諱腑鐨剅estoreView鏂規硶鍙互浣跨敤鍞竴鐨処D鏉ユ爣璇嗘仮澶嶈鍥撅紝鍗充嬌鏄湪鈥滄仮澶嶈鍥鋸濋樁孌點?br />聽聽聽聽 鍙︿竴涓噸瑕佺殑瑙勫畾錛屽氨鏄厑璁稿瀹㈡埛绔繘琛屽姞瀵嗭紝鍖呮嫭鍦ㄥ彂閫佷竴涓叧闂爣絳懼埌瀹㈡埛绔箣鍓嶃備綘鍙互閫夋嫨澹版槑鐨勬柟寮忓瀹㈡埛绔繘琛屽姞瀵?浣跨敤ClientStateSavingPassword榪欎釜綾諱綔涓哄姞瀵嗘柟寮忕殑鍏ュ彛錛屽涓嬫墍紺猴細 <env-entry> 聽聽聽聽聽聽聽聽聽聽聽聽 <env-entry-name> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 com.sun.faces.ClientStateSavingPassword 聽聽聽聽聽聽聽聽聽聽聽聽 </env-entry-name> 聽聽聽聽聽聽聽聽聽聽聽聽 <env-entry-value>somePassword</env-entry-value> 聽聽聽聽聽聽聽聽聽聽聽聽 <env-entry-type>java.lang.String</env-entry-type> 聽聽聽聽 </env-entry> 聽聽聽聽聽聽 浣犳彁渚涚殑瀵嗙爜閫氬父鏄敓鎴?鍊?瀵圭殑鏂瑰紡榪涜鍔犲瘑銆傚鏋滆繖涓幆澧冨叆鍙f病鏈夊湪閰嶇疆鏂囦歡涓畾涔夛紝榪欎釜鍔犲瘑鏂規硶灝變笉浼氳鎵ц銆?br /> 鍏抽棴鑷姩鐢熸垚瀹㈡埛绔粍浠禝D鐨勫姛鑳?br /> 聽聽聽聽聽 JSF閲囩敤涓縐嶇畻娉曟潵鐢熸垚瀹㈡埛绔粍浠訛紙鍖呭惈鍦‵orm涓級鐨勮〃紺哄彿錛圛D錛夛紝瀹㈡埛绔粍浠剁殑ID濡備笅闈㈢殑褰㈠紡錛?br />聽聽聽聽聽聽聽聽聽聽 [form ID]:[clientID] 聽聽聽聽聽 欏甸潰寮鍙戜漢鍛樺彲浠ュ鎸囧畾ID鐨刦orm緇勪歡鎴栬呭寘鍚湪璇orm涓殑鍏朵粬緇勪歡榪涜鎿嶄綔銆傚鏋滈〉闈㈠紑鍙戜漢鍛樻病鏈夋寚瀹歠orm鐨処D鍙鋒垨鑰呯粍浠剁殑ID鍙鳳紝閭d箞緋葷粺浼氳嚜鍔ㄧ敓鎴愩?br />聽聽聽聽聽 鏃╂湡鐗堟湰鐨凧SF瑙勮寖娌℃湁瑙勫畾榪欎釜綆楁硶錛屽彧瑕佸紑鍙戜漢鍛樼悊瑙e叾宸ヤ綔鍘熺悊灝卞浜嗐傛澶栵紝瀵逛簬鑷畾涔夌殑緇勪歡鎴栬呬竴涓覆鏌撶被鏉ヨ錛岄〉闈㈠紑鍙戜漢鍛樻病鍔炴硶紜畾鏄惁宸茬粡璁劇疆浜嗙粍浠剁殑瀹㈡埛绔疘D鍙鋒垨鑰呮槸鍚︾郴緇熶負瀹冧滑鑷姩鐢熸垚銆傛渶鍚庯紝鍥犱負鏌愮鍘熷洜錛屾覆鏌撳櫒鐨勫紑鍙戜漢鍛樺彲鑳芥棤娉曟敼鍙樺畠鐨勫悕縐幫紝浣嗘槸浠嶇劧瑕佸湪JavaScript涓紩鐢ㄥ畠銆?br />聽聽聽聽聽 鏈鍚庣殑JSF瑙勮寖鏄庣‘鐨勮鏄庝簡鐢熸垚瀹㈡埛绔粍浠禝D鐨勭畻娉曘傛垜浠彲浠ュ湪UIComponent鐨凙PI鏂囨。涓壘鍒扮浉鍏充俊鎭傜敱浜嶶IForm緇勪歡澧炲姞浜唒rependId灞炴э紝鐩稿簲鐨勭畻娉曚篃鍋氫簡鍙樺寲銆傞〉闈㈠紑鍙戜漢鍛樼幇鍦ㄥ彲浠ユ敼鍙樿灞炴х殑榛樿鍊鹼紙榛樿鍊間負false錛屽彲浠ユ敼涓簍rue錛夛紝榪欐牱灝辮〃鏄庡彲浠ヤ笉闇瑕佷嬌鐢‵orm鐨処D浣滀負緇勪歡ID鐨勫墠緙浜嗐備笅琛ㄦ牸鏄劇ず浜嗘甯告儏鍐典笅鐢熸垚瀹㈡埛绔粍浠禝D鐨勪笉鍚岀偣錛?br /> Table 1:瀹㈡埛绔粍浠禝D鐢熸垚鎯呭喌 鍦烘櫙 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 prependId=rue prependID=alse 寮鍙戜漢鍛樻病鏈夎緗甀D 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 _id0:_id1 聽聽聽聽聽聽聽聽 _id1 寮鍙戜漢鍛樹粎浠呰緗簡form鐨処D myForm:_id0 _id0 寮鍙戜漢鍛樺彧璁劇疆緇勪歡ID 聽聽聽聽聽聽聽聽 _id0:myComponent myComponent 寮鍙戜漢鍛樺form鍜岀粍浠墮兘璁劇疆浜咺D myForm:myComponent myComponent 鏂版爣絳緎etPropertyActionListener 聽聽聽聽聽 闄や簡actionListener鏍囩涔嬪錛屽厑璁告垜浠粰鑷畾涔夌殑緇勪歡娉ㄥ唽涓涓狝ction Listener錛屾牳蹇冪殑鏍囪搴撶幇鍦ㄥ凡緇忓寘鎷湪setPropertyActionListener鏍囪涓傜敤榪欎釜鏍囪娉ㄥ唽涓涓壒瀹氱殑action listener鍒癆ctionSource瀹炰緥涓紝騫朵笌鍏蜂綋鐨勭粍浠跺叧鑱旇搗鏉ャ傚綋緇勪歡琚縺媧伙紝listener灝變細鎶婂璞$殑寮曠敤瀛樺偍鍒版爣璁扮殑灞炴т腑銆?br />聽聽聽聽聽 涓轟簡灞曠ず鏍囪鐨勭敤澶勶紝鍋囪鎴戜滑鏈変竴涓猣orEach鏍囪錛屽茍涓斿湪鍏朵腑浣跨敤浜哻ommandButton錛屼互鍙婁嬌鐢╥terator鏉ユ樉紺轟竴緇勪功鐨勪俊鎭紝浠g爜濡備笅錛?br /><c:forEach items="#{bookDBAO.books}" var="book" varStatus="stat"> 聽聽聽聽聽聽聽聽聽 <c:set var="book" scope="request" value="${book}"/> 聽聽聽聽聽聽聽聽聽 ... 聽聽聽聽聽聽聽聽聽 <h:commandButton id="add" action="#{catalog.add}" 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value="#{bundle.CartAdd}">聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <f:setPropertyActionListener 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 target="#{requestScope.book}" 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value="#{book}"/> 聽聽聽聽聽聽聽聽聽 </h:commandButton> 聽聽聽聽聽聽聽聽聽 <c:remove var="book" scope="request"/> 聽聽聽聽 </c:forEach> 褰撶敤鎴風偣鍑籦utton錛岄夋嫨鐨刡ook灝變細澧炲姞鍒拌喘鐗╄濺涓紝騫朵笖鏄劇ず涓嬩竴欏點?br />濡傛灉浣犵啛鎮塉STL錛岄偅浣犲氨鐩村埌forEach鐨剉ar灞炴ф槸鍦ㄦ湰欏甸潰閭f湁鏁堢殑銆傜劧鑰岋紝book鐨勬暟鎹渶瑕佸湪request鑼冨洿鍐呮湁鏁堬紝榪欐牱鏄劇ず欏甸潰錛堢偣鍑誨悗杞埌鐨勪笅涓欏甸潰錛夋墠鑳借寖闂埌book鐨勬暟鎹傚洜姝わ紝setPropertyActionListener鏍囩閫氬父鐢ㄦ潵鎶婂綋鍓嶏紙book錛夊璞¤緗負request璁塊棶鑼冨洿鍐呫?br />聽聽聽聽聽聽 鍦ㄨ繖涓緥瀛愪腑錛宻etPropertyActionListener鏍囩鐨剉alue灞炴ф寚鐨勬槸鈥渂ook鈥濆璞★紱target灞炴ф槸琛ㄨ揪寮忊渞equestScope.book鈥濈殑寮曠敤錛屽茍涓斿拰commandButton緇勪歡寤虹珛浜嗗叧鑱斻?br /> 鎬葷粨 聽聽聽聽聽 榪欑瘒鏂囩珷鍙槸JSF1.2瑙勮寖鐨勭畝瑕佽鏄庯紝浠嬬粛涓浜涙柊鐨勭壒鎬у拰甯歌闂鐨勮В鍐蟲柟娉曘傛垜浠緩璁ぇ瀹朵嬌鐢ㄤ竴涓婮SF1.2銆傚鏋滀綘鏈変竴浜涢棶棰樻垨鑰呯湅娉曪紝璇峰彂閭歡錛坲sers錛爅avaserverfaces.dev.java.net錛夌粰鎴戜滑鎴栬呭姞鍏ユ垜浠殑紺懼尯(http://java.sun.com/j2ee/javaserverfaces)銆傚悓鏃訛紝鏈熷緟涓嬩竴綃囨枃绔犲湪鎴戜滑鐨勭綉绔欎笂鍑虹幇銆?br />
]]> 鍙楁帶bean涓庡疄浣揵ean鐨勬暟鎹紶閫?/title> http://www.tkk7.com/bingle/archive/2006/09/25/71721.html鍐版氮 鍐版氮 Mon, 25 Sep 2006 05:51:00 GMT http://www.tkk7.com/bingle/archive/2006/09/25/71721.html http://www.tkk7.com/bingle/comments/71721.html http://www.tkk7.com/bingle/archive/2006/09/25/71721.html#Feedback 4 http://www.tkk7.com/bingle/comments/commentRss/71721.html http://www.tkk7.com/bingle/services/trackbacks/71721.html
榪欎簺鏃ュ瓙鍦ㄧ敤JSF錛婬ibernate緇勫悎鏉ュ疄鐜頒竴綆鍗曞簲鐢ㄢ斺旂暀璦鏈?br /> 聽聽聽聽聽聽聽聽 鎬濊礬濡備笅錛?br />聽聽聽聽聽聽聽聽 鐢↗SF浣滀負View灞傦紝Hibernate瀹炵幇 Model灞傚嵆鏁版嵁鎸佷箙鍖栵紝鑰孋ontrol灞傚垯閲囩敤POJO錛屽嵆JavaBean銆?br /> 聽聽聽聽聽聽聽聽 鍦╩odel灞傦紝鐢╤ibernate鐢熸垚鎸佷箙鍖栧璞★紝浣滀負涓庢暟鎹簱闂存暟鎹氦浜掔殑鈥滀粙璐ㄥ璞♀濓紙鑷繁鍛藉悕鐨勶紝鍛靛懙錛夈傚鐣欒█淇℃伅綾籑essage.class錛岃繖涔熸槸POJO錛屽嵆瀹炰綋bean錛屾墍鍚柟娉曞彧鏄痵etter/getter銆備絾鍏跺嵈涓嶥B琛ㄤ腑鏁版嵁綾誨瀷鐩稿搴旂殑銆?br /> 聽聽聽聽聽聽聽聽 鍦╲iew灞侸SF涓紝涓庨〉闈㈡樉紺虹粍浠惰繘琛屽肩粦瀹氱殑鍙楁帶bean鎵挎媴浜嗘暟鎹樉紺轟笌鎿嶄綔鐨勪換鍔°傚湪姝ゅ簲鐢ㄤ腑錛屽MessageBean.class錛岃繖鏄笌hibernate涓殑Message.class榪欎竴瀹炰綋bean鐩稿搴旂殑銆?br /> 聽聽聽聽聽聽聽聽 涓轟粈涔堜笉鐩存帴浣跨敤瀹炰綋bean浣滀負view灞傜殑鏁版嵁鏄劇ず瀵硅薄鍛紵榪欐槸鍥犱負鍦∕VC妯″紡涓紝浠諱綍涓ゅ眰闂撮兘搴旇鏄滄澗钘曞悎鈥濈姸鎬侊紝鑰屼笉浜х敓鐩鎬簰渚濊禆鐨勬儏褰€?br /> 聽聽聽聽聽聽聽聽 鏃㈢劧濡傛錛屽彈鎺ean涓庡疄浣揵ean涔嬮棿鍙堝浣曞疄鐜版暟鎹殑浼犻掑憿錛?br /> 聽聽聽聽聽聽聽聽 鍦╟ontrol灞備腑錛屽緩绔嬩竴涓狹essageBuilder.class綾伙紝鏉ュ疄鐜頒袱bean闂寸殑浜や簰錛岃繖涓被涓富瑕佸埄鐢ㄤ簡org.apache.commons.beanutils.BeanUtils綾葷殑copyProperties鏂規硶鏉ュ疄鐜般侻essageBuilder.java鐨勫叿浣撳疄鐜頒唬鐮佸涓嬶細 //**********MessageBuilder.java鐨勫叿浣撳疄鐜頒唬鐮乥egin************** package efan5.myguestbook.control;
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
import efan5.myguestbook.model.Message; import efan5.myguestbook.view.MessageBean;
public class MessageBuilder { 聽 聽public MessageBuilder(){} 聽 聽public static Message createMessage(MessageBean messageBean){ 聽聽Message message = new Message(); 聽聽try { 聽聽聽BeanUtils.copyProperties(message, messageBean); 聽聽} catch (IllegalAccessException e) { 聽聽聽 聽聽聽e.printStackTrace(); 聽聽} catch (InvocationTargetException e) { 聽聽聽聽聽聽e.printStackTrace(); 聽聽} 聽聽return message; 聽} 聽 聽public static MessageBean createMessageBean(Message message){ 聽聽MessageBean messageBean = new MessageBean(); 聽聽try { 聽聽聽BeanUtils.copyProperties(messageBean,message); 聽聽} catch (IllegalAccessException e) { 聽聽聽 聽聽聽e.printStackTrace(); 聽聽} catch (InvocationTargetException e) { 聽聽聽聽聽聽e.printStackTrace(); 聽聽} 聽聽return聽 messageBean; 聽}
} //**********MessageBuilder.java鐨勫叿浣撳疄鐜頒唬鐮乪nd************** 聽聽聽聽聽聽聽聽 榪欏氨瀹炵幇浜嗗彈鎺ean涓庡疄浣揵ean鐨勬暟鎹氦浜掋?br />聽聽聽聽聽聽聽聽 PS錛欱eanUtils.copyProperties(obj1,obj2) 鏂規硶瑕佸璞bj1,obj2涓殑鐩稿搴旂殑灞炴х殑鍚嶅瓧鍜屾暟鎹被鍨嬩竴鑷達紝鍚﹀垯浼氫駭鐢熸暟鎹被鍨嬩笉鍖歸厤鐨勫紓甯搞備絾騫朵笉鏄姹傚睘鎬ф暟鐩竴鑷淬?/font>
]]>
主站蜘蛛池模板:
亚洲精品成人久久久 |
毛片免费在线观看 |
亚洲国产精品ⅴa在线观看 |
亚洲人成综合在线播放 |
亚洲一区二区三区国产精品无码 |
亚洲人成网站在线播放影院在线 |
久久久久久亚洲精品 |
亚洲av片劲爆在线观看 |
亚洲国产综合专区在线电影 |
亚洲综合日韩中文字幕v在线 |
亚洲午夜精品久久久久久人妖 |
久久亚洲日韩精品一区二区三区 |
精品日韩亚洲AV无码一区二区三区 |
久久久久亚洲AV无码网站 |
亚洲天堂一区二区三区 |
亚洲字幕AV一区二区三区四区 |
亚洲午夜无码久久 |
精品国产亚洲AV麻豆 |
九九综合VA免费看 |
13小箩利洗澡无码视频网站免费 |
国产色爽免费无码视频 |
在线成人爽a毛片免费软件 |
在线永久看片免费的视频 |
成年女人视频网站免费m |
免费国产高清视频 |
精品亚洲成α人无码成α在线观看 |
在线观看亚洲天天一三视 |
亚洲AV无码成人精品区在线观看 |
91亚洲精品第一综合不卡播放 |
亚洲五月丁香综合视频 |
精品在线观看免费 |
免费看一区二区三区四区 |
亚洲免费视频观看 |
国产免费人成在线视频 |
青青草原亚洲视频 |
亚洲成电影在线观看青青 |
久久水蜜桃亚洲AV无码精品 |
好吊色永久免费视频大全 |
亚州免费一级毛片 |
国产乱子影视频上线免费观看 |
亚洲欭美日韩颜射在线二 |