锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频在线免费,亚洲AV成人一区二区三区AV,亚洲尹人九九大色香蕉网站http://www.tkk7.com/itvincent/category/17599.html鍠滄Java,鐑埍鎶鏈?/description>zh-cnFri, 27 Apr 2007 07:45:35 GMTFri, 27 Apr 2007 07:45:35 GMT60JSF html鏍囩(1)http://www.tkk7.com/itvincent/archive/2007/04/27/114074.htmlitVincentitVincentFri, 27 Apr 2007 06:23:00 GMThttp://www.tkk7.com/itvincent/archive/2007/04/27/114074.htmlhttp://www.tkk7.com/itvincent/comments/114074.htmlhttp://www.tkk7.com/itvincent/archive/2007/04/27/114074.html#Feedback0http://www.tkk7.com/itvincent/comments/commentRss/114074.htmlhttp://www.tkk7.com/itvincent/services/trackbacks/114074.html闃呰鍏ㄦ枃

itVincent 2007-04-27 14:23 鍙戣〃璇勮
]]>
JSF鎶鏈爺絀垛斺旂涓涓狫SF紼嬪簭http://www.tkk7.com/itvincent/archive/2006/12/26/90139.htmlitVincentitVincentTue, 26 Dec 2006 09:05:00 GMThttp://www.tkk7.com/itvincent/archive/2006/12/26/90139.htmlhttp://www.tkk7.com/itvincent/comments/90139.htmlhttp://www.tkk7.com/itvincent/archive/2006/12/26/90139.html#Feedback7http://www.tkk7.com/itvincent/comments/commentRss/90139.htmlhttp://www.tkk7.com/itvincent/services/trackbacks/90139.html闃呰鍏ㄦ枃

itVincent 2006-12-26 17:05 鍙戣〃璇勮
]]>
JSF鎶鏈爺絀垛斺斿嚑涓狫SF嫻佽鍚嶈瘝鐨勮В閲?/title><link>http://www.tkk7.com/itvincent/archive/2006/12/21/89224.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 21 Dec 2006 02:55:00 GMT</pubDate><guid>http://www.tkk7.com/itvincent/archive/2006/12/21/89224.html</guid><wfw:comment>http://www.tkk7.com/itvincent/comments/89224.html</wfw:comment><comments>http://www.tkk7.com/itvincent/archive/2006/12/21/89224.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.tkk7.com/itvincent/comments/commentRss/89224.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/itvincent/services/trackbacks/89224.html</trackback:ping><description><![CDATA[     鎽樿: 瑙g瓟涓涓垵瀛﹁呯殑鍥版儜錛屽ぇ瀹跺惉寰楁瘮杈冨鐨勬槸錛孞SF1.1錛孞SF1.2錛宮yfaces,oracle ADF,ajax4jsf錛宖acelets,瀹冧滑絀剁珶鏄粈涔堬紝鏈変粈涔堝叧緋誨憿錛?<br> <br>  <a href='http://www.tkk7.com/itvincent/archive/2006/12/21/89224.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/itvincent/aggbug/89224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/itvincent/" target="_blank">itVincent</a> 2006-12-21 10:55 <a href="http://www.tkk7.com/itvincent/archive/2006/12/21/89224.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JSF铏界劧鏄撳鏄撶敤錛屼絾涓旈夯鐑﹀澶?/title><link>http://www.tkk7.com/itvincent/archive/2006/11/11/80539.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Sat, 11 Nov 2006 01:29:00 GMT</pubDate><guid>http://www.tkk7.com/itvincent/archive/2006/11/11/80539.html</guid><wfw:comment>http://www.tkk7.com/itvincent/comments/80539.html</wfw:comment><comments>http://www.tkk7.com/itvincent/archive/2006/11/11/80539.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/itvincent/comments/commentRss/80539.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/itvincent/services/trackbacks/80539.html</trackback:ping><description><![CDATA[聽聽聽鏈榪戠爺絀禞SF鑻﹀晩,浠嶫SF RI 1.1鍒癕yFaces1.5,鍐嶅埌facelets,榪樻病鏁村悎鍒癆jax鐨勯儴鍒?宸茬粡寰堝楹葷儲浜?鎬繪湁寰堝濂囨殑閿欒,鍘熷洜鏈夊洜涓哄寘鐨勭増鏈殑闂,鍖呯殑鍐茬獊鐨勯棶棰?鍖呬箣闂寸増鏈笉鍖歸厤鐨勯棶棰?閰嶇疆鏂囦歡涔熺敱浜庝竴鐐圭偣鐨勪笉鍚?浣嗛厤緗椂涓嶆姤閿?鍗村湪榪愯鐨勬椂鍊欐樉紺哄嚭璺熼厤緗棤鍏崇殑閿欒,榪樻湁涓涓洜涓鴻緗簡鍒殑tomcat绔彛鑰屽嚭鐜扮殑寮傚父,鑰屼笖鏈閲嶈鐨勬槸瀹冪殑紼沖畾鎬?鎴戜滑鍋氱殑鎴愬姛鐨勫簲鐢ㄦ斁鍒板埆浜虹殑鏈哄櫒涓婄敤灝變細鍑虹幇闂,鎵鏈夎繖浜涢兘褰卞搷浜嗗JSF鐨勫涔犱笌浣跨敤銆?br />聽聽聽鍗曚釜鐨勮礬闅捐蛋錛屾暣鍚堢殑璺洿闅捐蛋銆傚垢濂戒粖澶╃粓浜庢妸exadel studio4.0緇欎笅杞戒簡錛岄噷闈㈢殑宸ュ叿瀵笿SF鏀寔寰堝ソ銆?br />聽聽聽鐢變簬榪欐鏃墮棿寰堝繖錛屾墍浠ヨ鏈変簺鏃墮棿錛屾葷粨鎶鏈棶棰樹箣鍚庡啀鍙戜笂鏉ャ?img src ="http://www.tkk7.com/itvincent/aggbug/80539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/itvincent/" target="_blank">itVincent</a> 2006-11-11 09:29 <a href="http://www.tkk7.com/itvincent/archive/2006/11/11/80539.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浠嶫SF1.2鐨勪緥瀛?鍙戠幇Tomcat鐗堟湰鍏煎鐨勯棶棰?/title><link>http://www.tkk7.com/itvincent/archive/2006/11/02/78591.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Thu, 02 Nov 2006 01:23:00 GMT</pubDate><guid>http://www.tkk7.com/itvincent/archive/2006/11/02/78591.html</guid><wfw:comment>http://www.tkk7.com/itvincent/comments/78591.html</wfw:comment><comments>http://www.tkk7.com/itvincent/archive/2006/11/02/78591.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/itvincent/comments/commentRss/78591.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/itvincent/services/trackbacks/78591.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">浠庡畼緗戜笅鐨?/span> <span lang="EN-US">JSF1.2</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍖?/span> <span lang="EN-US">,</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">閲岄潰鐨勪緥瀛愪竴鐩翠笉鑳藉湪鎴戠殑</span> <span lang="EN-US">Tomcat<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">5.5.17</st1:chsdate></span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓嬭繍琛?/span> <span lang="EN-US">,</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">浣嗘槸鎴戣嚜宸卞仛鐨勭▼搴忔病鏈夊嚭鐜伴棶棰橈紝鍚庢潵涓婄綉鎵懼埌鍘熸潵鏄?/span> <span lang="EN-US">Tomcat</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐗堟湰闂銆?/span> <span lang="EN-US">JSF1.2</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐢ㄧ殑鏄?/span> <span lang="EN-US">JSP2.1</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鏍囧噯</span> <span lang="EN-US">,</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">浠庝笅闈㈠垪琛ㄤ腑鍙湅鍑?/span> <span lang="EN-US">,</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">瑕佽繍琛?/span> <span lang="EN-US">JSF1.2</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">闇瑕?/span> <span lang="EN-US">6.0.x</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆?/span> <span lang="EN-US">JSF1.2</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓殑渚嬪瓙涓敤鍒?/span> <span lang="EN-US">JSP1.2</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐨?/span> <span lang="EN-US">API</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛屾墍浠ュ湪鎴戠殑</span> <span lang="EN-US">Tomcat5</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">榪愯灝變細鎶ラ敊錛岃屾垜鐨勭▼搴忕敤鐨勬槸</span> <span lang="EN-US">facelets</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娌℃湁鐢ㄥ埌</span> <span lang="EN-US">JSP1.2</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐨?/span> <span lang="EN-US">API</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎵浠ユ病鏈夐棶棰橈紝浣嗘槸</span> <span lang="EN-US">deploy</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐨勬椂鍊欎細鎶ュ嚭涓浜涘叧浜?/span> <span lang="EN-US">jsp</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐨勮鍛?2006-11-2 9:34:23 com.sun.faces.config.ConfigureListener isJspTwoOne<br />璀﹀憡: Incorrect JSP version found, method getJspApplicationContext does not exist.)錛屼篃鏄繖鏍風殑鍘熷洜銆?br />聽聽聽鎵浠ヨ鍦?/span> <span lang="EN-US">Tomcat5</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓嬭繍琛?/span> <span lang="EN-US">JSF</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛屼負浜嗙ǔ瀹氳搗瑙侊紝搴旇浣跨敤</span> <span lang="EN-US">JSF1.1</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐗堟湰銆傜幇鍦ㄧ敤鍥濲SF1.1,鍘熸潵涓浜沊ML娌℃湁楠岃瘉,鍜岄〉闈㈡彁浜よ〃鍗曞悗,榪斿洖鍐嶆彁浜や細鍑虹幇鐨勪涪澶辨暟鎹殑闂涔熻В鍐充簡錛堟垜涔嬪墠鐨勬枃绔?a class="titlelink" id="Editor_Results_rprSelectionList_ctl02_Hyperlink1" href="/itvincent/archive/2006/11/01/78481.html"><font color="#000000">銆妀avax.faces.STATE_SAVING_METHOD鐨勮緗棶棰?/font></a>銆?銆?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p>聽</o:p> </span> </p> <table class="MsoNormalTable" style="mso-cellspacing: 1.5pt" cellpadding="0" border="0"> <tbody> <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #039acc; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">Servlet/JSP Spec</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #039acc; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt">Apache Tomcat version</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> </tr> <tr style="mso-yfti-irow: 1"> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.5/2.1</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">6.0.x</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> </tr> <tr style="mso-yfti-irow: 2"> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.4/2.0</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">5.5.x</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> </tr> <tr style="mso-yfti-irow: 3"> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.3/1.2</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">4.1.x</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> </tr> <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">2.2/1.1</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> <td style="BORDER-RIGHT: #eef2f5; PADDING-RIGHT: 0.75pt; BORDER-TOP: #eef2f5; PADDING-LEFT: 0.75pt; BACKGROUND: #a0ddf0; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #eef2f5; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #eef2f5" valign="top"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">3.3.x</span> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 瀹嬩綋; mso-font-kerning: 0pt; mso-bidi-font-family: 瀹嬩綋"> <o:p> </o:p> </span> </p> </td> </tr> </tbody> </table> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <o:p>聽</o:p> </span> </p> <img src ="http://www.tkk7.com/itvincent/aggbug/78591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/itvincent/" target="_blank">itVincent</a> 2006-11-02 09:23 <a href="http://www.tkk7.com/itvincent/archive/2006/11/02/78591.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>javax.faces.STATE_SAVING_METHOD鐨勮緗棶棰?/title><link>http://www.tkk7.com/itvincent/archive/2006/11/01/78481.html</link><dc:creator>itVincent</dc:creator><author>itVincent</author><pubDate>Wed, 01 Nov 2006 07:43:00 GMT</pubDate><guid>http://www.tkk7.com/itvincent/archive/2006/11/01/78481.html</guid><wfw:comment>http://www.tkk7.com/itvincent/comments/78481.html</wfw:comment><comments>http://www.tkk7.com/itvincent/archive/2006/11/01/78481.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/itvincent/comments/commentRss/78481.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/itvincent/services/trackbacks/78481.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt"> <span lang="EN-US">javax.faces.STATE_SAVING_METHOD</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">璁劇疆涓?/span> <span lang="EN-US">server</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鐨勬椂鍊欙紙榛樿錛夛紝鍙戠幇鐐瑰嚮嫻忚鍣?/span> <span lang="EN-US">鈥?/span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍚庨</span> <span lang="EN-US">鈥?/span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎸夐挳浼氬鑷撮鍥炵殑欏甸潰涓嶅彲鐢紝閲嶆柊鎻愪氦鐨勮〃鍗曚笉鐢熸晥錛屾湇鍔″櫒绔笉鍒鋒柊錛屼絾欏甸潰浼氳煩杞紝蹇呴』鍒鋒柊涓嬈℃墠鑳借В鍐熾?/span> <span lang="EN-US"> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎴戞兂鍒頒袱涓В鍐沖姙娉曪細</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore">1銆?span style="FONT: 7pt 'Times New Roman'">聽 </span></span> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎶?/span> <span lang="EN-US">javax.faces.STATE_SAVING_METHOD</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">璁句負</span> <span lang="EN-US">client</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍙互瑙e喅錛屼絾鏄鎴風欏甸潰涓細鍑虹幇寰堥暱鐨勯殣钘忎俊鎭紝铏界劧涓嶅獎鍝嶅鎴蜂嬌鐢紝浣嗘槸欏甸潰浼氬彉寰楀緢鍐楅暱銆傝屼笖鐪嬪埌鏈変漢璇撮〉闈腑澶瑰叆鐨?/span> <span lang="EN-US">javascript</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎵撳嵃鐨勪腑鏂囨彁紺哄彉鎴愪簡涔辯爜銆?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"> <span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore">2銆?span style="FONT: 7pt 'Times New Roman'">聽 </span></span> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍦?/span> <span lang="EN-US">faces-config.xml</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 1">聽聽聽 </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">聽聽聽聽聽聽 </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-name</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">hello</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-name</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">聽聽聽聽聽聽 </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-class</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 3">聽聽聽聽聽聽聽聽聽聽 </span>facelets.Hello</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">聽聽聽聽聽聽 </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-class</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">聽聽聽聽聽聽 </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-scope</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">session</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-scope</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 1">聽聽聽 </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"></</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎶?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"><</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">managed-bean-scope</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">></span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鏀逛負</span> <span lang="EN-US">session</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涔熷彲浠ヨВ鍐籌紝浣嗕緥濡傛柊澧炰慨鏀規槸鍋氬湪鍚屼竴涓〉闈㈢殑鏃跺欙紝涔嬪墠鍋氳繃淇敼鎿嶄綔錛屾柊澧炵殑鏃朵篃浼氬瓨鍦ㄤ慨鏀規椂鐨勫唴瀹?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <span style="mso-tab-count: 1">聽聽聽聽聽聽 </span> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">璇鋒暀鏈変粈涔堟柟娉曞彲浠ユ洿濂界殑瑙e喅榪欎釜闂錛?/span> </p> <img src ="http://www.tkk7.com/itvincent/aggbug/78481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/itvincent/" target="_blank">itVincent</a> 2006-11-01 15:43 <a href="http://www.tkk7.com/itvincent/archive/2006/11/01/78481.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞琞鐢↗SF鍜孧yFaces涓婁紶鏂囦歡http://www.tkk7.com/itvincent/archive/2006/11/01/78472.htmlitVincentitVincentWed, 01 Nov 2006 06:25:00 GMThttp://www.tkk7.com/itvincent/archive/2006/11/01/78472.htmlhttp://www.tkk7.com/itvincent/comments/78472.htmlhttp://www.tkk7.com/itvincent/archive/2006/11/01/78472.html#Feedback2http://www.tkk7.com/itvincent/comments/commentRss/78472.htmlhttp://www.tkk7.com/itvincent/services/trackbacks/78472.html

鐢↗SF鍜孧yFaces涓婁紶鏂囦歡

RR00 鍙戣〃浜?2005-08-31 00:12:00
浣滆?Andrei Cioroianu;RR00聽聽聽聽 鏉ユ簮:Onjava
璇勮鏁?1 鐐瑰嚮鏁?4,703聽聽聽聽 鎶曠エ鎬誨緱鍒?5 鎶曠エ鎬諱漢嬈?1
鍏抽敭瀛?JSF MyFaces Upload

鎽樿:

鐢ㄦ埛鍙互寰堟柟渚夸嬌鐢ㄦ祻瑙堝櫒涓婁紶鏂囦歡錛屼絾鏄綋鍓嶇殑Java Web鏍囧噯錛堝servlets, JSP, and JSF錛夊茍娌℃湁鎻愪緵浠諱綍涓婁紶鐨勫姛鑳姐傚垢濂界涓夋柟妗嗘灦錛屾瘮濡?Apache Commons File Upload, Apache MyFaces, and Oracle ADF Faces錛屾彁渚涗簡綆鍗曠殑API鍜屽鎴鋒爣絳撅紝瀹炵幇浜嗚繖涓姛鑳姐傛枃绔犵殑鍓嶅崐閮ㄥ垎灝嗕粙緇嶄笂浼犵粍浠舵槸濡備綍宸ヤ綔鐨勶紝鍦ㄦ枃绔犵殑鍚庡崐閮ㄥ垎錛屼粙緇嶄簡涓涓鐢ㄦ埛閫氳繃嫻忚鍣ㄤ笂浼犳枃浠剁殑渚嬪瓙銆?
鐢↗SF鍜孧yFaces涓婁紶鏂囦歡

浣滆咃細Andrei Cioroianu

緲昏瘧錛?span style="COLOR: purple" twffan="done">RR00

email:di_feng_ro@hotmail.com


鐗堟潈澹版槑錛氬彲浠ヤ換鎰忚漿杞斤紝杞澆鏃惰鍔″繀浠ヨ秴閾炬帴褰㈠紡鏍囨槑鏂囩珷鍘熷鍑哄鍜屼綔鑰呬俊鎭強鏈0鏄?br />鑻辨枃鍘熸枃鍦板潃:
http://www.onjava.com/pub/a/onjava/2005/07/13/jsfupload.html
涓枃鍦板潃:
http://www.matrix.org.cn/resource/article/43/43703_JSF_MyFaces_Upload.html
鍏抽敭璇嶏細 JSF MyFaces Upload



鐢ㄦ埛鍙互寰堟柟渚夸嬌鐢ㄦ祻瑙堝櫒涓婁紶鏂囦歡錛屼絾鏄綋鍓嶇殑Java Web鏍囧噯錛堝servlets, JSP, and JSF錛夊茍娌℃湁鎻愪緵浠諱綍涓婁紶鐨勫姛鑳姐傚垢濂界涓夋柟妗嗘灦錛屾瘮濡?Apache Commons File Upload, Apache MyFaces, and Oracle ADF Faces錛屾彁渚涗簡綆鍗曠殑API鍜屽鎴鋒爣絳撅紝瀹炵幇浜嗚繖涓姛鑳姐傛枃绔犵殑鍓嶅崐閮ㄥ垎灝嗕粙緇嶄笂浼犵粍浠舵槸濡備綍宸ヤ綔鐨勶紝浣犲皢鐪嬪埌MyFaces and Commons File Upload 鐨勯儴鍒嗘簮鐮侊紙瀹為檯涓婏紝鍓嶈呴噰鐢ㄧ殑鏄悗鑰呯殑浠g爜錛夈備簡瑙h繖浜涙簮鐮佺殑鍐呭湪鏈哄埗灝嗕嬌鎴戜滑鏇存湁鏁堢殑浣跨敤榪欎簺妗嗘灦錛屽茍涓斿彲浠ユ牴鎹渶瑕佷慨鏀逛粬浠紒鍦ㄦ枃绔犵殑鍚庡崐閮ㄥ垎錛屼粙緇嶄簡涓涓鐢ㄦ埛閫氳繃嫻忚鍣ㄤ笂浼犳枃浠剁殑渚嬪瓙銆?br />
鍩轟簬WEB鐨勬枃浠朵笂浼?/span>
鈥滀笂浼犫濊繖涓瘝鐨勪嬌鐢ㄦ瘮杈冨箍娉涖備竴涓獁eb綆$悊鍛樺湪浠栫殑涓婚〉鍙戝竷浜嗕竴涓枃浠訛紝浠栧彲浠ヨ浠栦笂浼犱簡涓涓枃浠訛紱褰撲竴涓綉緇滃伐紼嬪笀鍒涘緩浜嗕竴涓狧TML form鍜屼竴浜涜剼鏈嬌鏅氱敤鎴峰彲浠ラ氳繃嫻忚鍣ㄤ笂浼犳枃浠訛紝浠栬浠栧疄鐜頒簡涓婁紶鐨勫姛鑳姐?br />榪欎袱縐嶆柟寮忎箣涓湁浜涘叡鍚岀殑鍦版柟錛屽洜涓轟竴涓獁eb綆$悊鍛樺彲浠ラ氳繃涓涓熀浜巜eb鐨勬帴鍙f潵鍙戝竷鏂囦歡錛堥〉闈紝鍥懼儚錛岃剼鏈瓑絳夛級銆傞偅浜涘厤璐規彁渚涗釜浜轟富欏電殑鍏徃錛屾瘮濡倅ahoo錛屽疄鐜頒簡鍩轟簬web鐨勬枃浠朵笂浼犲姛鑳斤紝鍥犱負瀹㈡埛闇瑕佷笂浼犻〉闈€傝繖鏍蜂換浣曚漢鍙鎺ュ叆緗戠粶錛屽氨鍙互閫氳繃嫻忚鍣ㄥ彂甯冧粬鐨勪釜浜虹珯鐐廣備絾鏄紝榪樻湁璁稿鏇村ソ鐨勬柟寮忚浣犲彂甯冧綘鐨勭綉欏靛唴瀹癸紝姣斿FTP鎴杝ecure FTP銆傚湪榪欑鎯呭喌涓嬶紝浣犲氨闇瑕佷竴涓搴旂殑搴旂敤紼嬪簭錛屾瘮濡侳TP瀹㈡埛绔紝鑰屼笉鏄祻瑙堝櫒鏉ュ彂甯冧綘鐨勭綉绔欍?br />
榪欑瘒鏂囩珷灝嗕粠緗戠粶寮鍙戣呯殑瑙掑害鏉ヨ璁烘枃浠朵笂浼犮備竴涓熀浜巜eb鐨刴ail搴旂敤紼嬪簭錛屾瘮濡倅ahoo mail,瀹炵幇浜嗕笂浼犲姛鑳斤紝榪欐牱鐢ㄦ埛鎵嶈兘鍙戦佷俊鎭拰闄勪歡銆傚彟涓涓ソ鐨勪緥瀛愭槸涓涓猨ob緗戠珯蹇呴』璁╀綘鑳藉鍙戦佺畝鍘嗙粰鎷涜仒浜哄憳銆傚湪浣犵殑搴旂敤紼嬪簭涓紝浣犲彲浠ュ涓婁紶鐨勬枃浠朵綔浠諱綍浣犳兂鍋氱殑浜嬫儏錛屾瘮濡傛妸榪欎簺鏂囦歡鐨勫唴瀹瑰偍瀛樺埌鏁版嵁搴撲腑鎴栬呮妸浠栦滑褰撲綔闄勪歡鍙戦佸嚭鍘匯傝繖綃囨枃绔犵殑渚嬪瓙璁$畻浜嗕笂浼犳枃浠剁殑hash鍊箋傜幇鍦紝璁╂垜浠湅鐪嬪浣曞湪涓涓獁eb搴旂敤紼嬪簭涓疄鐜頒笂浼犲姛鑳姐?br />
涓涓猦tml琛ㄥ崟鍖呭惈涓涓垨澶氫釜<input type="file"> 鍏冪礌錛岃繖涓厓绱犲皢鍦ㄩ〉闈笂鐢熸垚鏂囦歡杈撳叆妗嗭紝鐢ㄦ埛鍙互鍦ㄨ繖閲屽~鍐欐枃浠惰礬寰勩傜敤鎴風偣鍑昏緭鍏ュ瓧孌靛悗闈㈢殑嫻忚(browse)鎸夐挳鍚庯紝浼氬脊鍑轟竴涓璇濇璁╃敤鎴烽夋嫨璺緞錛?br />
image

褰撶敤鎴風偣鍑昏〃鍗曠殑Sumbit鎸夐挳錛屾祻瑙堝櫒瀵硅〃鍗曟暟鎹繘琛岀紪鐮侊紝鍏朵腑鍖呮嫭鏂囦歡鐨勫唴瀹癸紝鍚嶅瓧錛岃礬寰勪互鍙婂叾浠栫殑琛ㄥ崟鍙傛暟銆傜劧鍚庯紝嫻忚鍣ㄦ妸緙栫爜榪囩殑鏁版嵁浼犻掔粰web鏈嶅姟鍣紝鏈嶅姟鍣ㄥ啀鎶婅繖浜涙暟鎹紶閫掔粰鐩稿簲鐨勯〉闈紝姣斿<form>鏍囩閲岀殑action灞炴у箋傚鏋滄槸java緗戠粶搴旂敤紼嬪簭錛宎ction灞炴у煎彲鑳芥槸涓猻ervlet鎴栬呮槸涓猨sp欏甸潰銆?br />鍥犱負榛樿鐨勮〃鍗曠紪鐮佸拰get鏂規硶涓嶉傚悎涓婁紶鏂囦歡錛屾墍浠ヤ竴涓寘鍚枃浠惰緭鍏ユ鐨勮〃鍗曞繀欏誨畾涔夌紪鐮佷負multipart/form-data 錛屽茍涓斿湪<form>鏍囩閲屼嬌鐢≒OST鏂規硶錛?br />
<form enctype="multipart/form-data" method="POST" action="...">
聽聽聽聽...
聽聽聽聽<input type="file" name="...">
聽聽聽聽...
</form>


浣嗘槸錛屼簨鎯呭茍涓嶈薄鐪嬭搗鏉ラ偅涔堢畝鍗曪紝瀹炵幇浜唖ervlet and JSP 鏍囧噯鐨勫簲鐢ㄦ湇鍔″櫒騫舵病鏈夎瑕佹眰澶勭悊 multipart/form-data緙栫爜銆傛墍浠ヤ綘闇瑕佷竴涓В鏋愬櫒鏉ュ鐞嗚姹傜殑杈撳叆嫻?姣斿Apache Commons File Upload緇勪歡錛屽畠鏄釜java鍖咃紝鑳戒粠宸茬紪鐮佺殑鏁版嵁涓鍙栧嚭涓婁紶鏂囦歡鐨勫唴瀹廣傝繖涓寘鐨凙PI寰堢伒媧伙紝鍏佽浣犳妸灝忔枃浠跺瓨鍦ㄥ唴瀛橀噷鑰屽ぇ鏂囦歡鍌ㄥ瓨鍦ㄧ鐩樹笂涓涓復鏃舵枃浠跺す閲屻備綘涓嶄絾鍙互瀹氫箟澶ф枃浠跺拰灝忔枃浠剁殑鐣岄檺錛岃繕鍙互瀹氫箟涓婁紶鏂囦歡鎵鍗犵┖闂寸殑鏈澶у箋?br />
org.apache.commons.fileupload閲屾湁涓狣iskFileUpload綾伙紝瀹冪殑parseRequest()鍑芥暟鑾峰緱涓涓狧ttpServletRequest錛岃繑鍥炰竴涓狶ist錛屽叾涓寘鍚簡org.apache.commons.fileupload.FileItem鐨勫疄渚嬨俿ervlet璇鋒眰鐨刧etInputStream()鍑芥暟榪斿洖涓涓暟鎹祦錛屽凡緙栬瘧鐨勮〃鍗曟暟鎹氨鏄粠榪欓噷璇誨彇鍑烘潵鐨勩侳ileItem寰堝鏄撹浜鴻瑙o紝鍥犱負榪欎釜鎺ュ彛鐨勫疄渚嬩笉浠呭寘鎷笂浼犳枃浠?榪樻湁鍏朵粬鐨勮姹傚弬鏁般?br />
Commons File Upload 鍖呮彁渚涚殑API鍙互瑙f瀽鏁版嵁錛屼絾鏄痵ervlet璇鋒眰鐨刧etParameter()鍑芥暟鍜実etParameterValues()鍑芥暟鍗翠笉鑳藉伐浣溿傚洜涓鴻繖涓や釜鍑芥暟琚繍琛屽湪甯哥敤鐨勮緭鍏ユ, 澶嶉夋, 鍗曢夋寜閽? 鍜屼笅鎷夊垪琛ㄥ悗闈㈢殑鏍囧噯JSF緇勪歡璋冪敤錛屾墍浠ヨ繖涓棶棰橀渶瑕佽В鍐熾係ervlets API鎻愪緵鐨勪袱涓姛鑳?filters鍜宺equest wrappers) 鍙互瑙e喅榪欎釜闂銆備笅闈㈢殑绔犺妭鎻忚堪浜嗗湪娌℃湁鐮村潖鍘熸湁JSF緇撴瀯鐨勬儏鍐典笅錛孉pache MyFaces 濡備綍瀹炵幇浜嗕竴涓猣ilter鍔熻兘錛屼粠鑰屾坊鍔犱簡鏇村闇瑕佺殑鏀寔銆傚彟澶栵紝MyFaces鎻愪緵鐨凙PI鍙互鍒涘緩javaBean錛屽拰鐢熸垚<input type="file">鍏冪礌鐨凧SF緇勪歡鐩稿搴斻?br />
閰嶇疆 JSF 鍜孧yFaces Extensions
鐩墠鏈涓昏鐨勫疄鐜癑SF瑙勮寖鐨勬鏋舵湁JSF Reference Implementation (RI)浠ュ強Apache鎻愪緵鐨凪yFaces銆傝櫧鐒惰繕鏈夊埆鐨勶紝浣嗚繖涓や釜鏄渶嫻佽鐨勩傚緢澶氬紑鍙戣呮洿鍊懼悜浜嶫SF RI錛屽洜涓鴻繖鏄潵鑷簬sun鐨勫畼鏂逛駭鍝併備絾MyFaces鏈変竴浜涙湁瓚g殑鎵╁睍鐨勫姛鑳斤紝姣斿涓婁紶鏂囦歡銆傚鏋滀綘鍠滄錛屼綘鍙互鍚屾椂浣跨敤MyFaces鐨勬墿灞曞姛鑳藉拰JSF RI銆備綘鍙渶瑕佹妸myfaces-extensions.jar鍜孞SF RI鐨刯ar鏂囦歡浠ュ強 commons-fileupload-1.0.jar 鏀懼湪web搴旂敤紼嬪簭鐨刉EB-INF/lib 鐩綍涓嬪嵆鍙備笅闈㈡槸浣犻渶瑕佺殑jar鏂囦歡錛?br />
image

org.apache.myfaces.component.html.util鍖呯殑MultipartRequestWrapper綾誨垱寤轟簡MyFaces鍜孋ommons File Upload榪炴帴鐨勬ˉ姊併傝繖涓被緇ф壙浜咹ttpServletRequestWrapper錛岄噸鍐欎簡getParameterMap(), getParameterNames(), getParameter(), 鍜実etParameterValues() 鍑芥暟錛屾墍浠ヤ粬浠兘姝g‘澶勭悊multipart/form-data 緙栫爜鏁版嵁銆傚彟澶栵紝MultipartRequestWrapper鎻愪緵鐨勪袱涓嚱鏁幫紝getFileItem() 鍜実etFileItems(),浣夸綘鍙互閫氳繃org.apache.commons.fileupload.FileItem 鎺ュ彛璁塊棶涓婁紶鏂囦歡銆?br />
MyFaces鐨?ExtensionsFilter 綾誨湪org.apache.myfaces.component.html.util 鍖呴噷錛屽綋瀹冨彂鐜癿ultipart/form-data緙栫爜鐨勬椂鍊欙紝瀹冧細鍒涘緩 MultipartRequestWrapper 鐨勫疄渚嬨傛墍浠ヤ綘涓嶉渶鐞嗕細浠栨槸濡備綍瑙f瀽琛ㄥ崟鏁版嵁鐨勶紝浣嗘槸鐭ラ亾瀹冩槸濡備綍寮濮嬭В鏋愬浣犳兂瑕佷慨鏀逛笂浼犳枃浠剁殑澶勭悊鏂瑰紡鏄湁鐢ㄧ殑銆傚湪涓涓紶緇熺殑搴旂敤紼嬪簭涓紝浣犲彧闇瑕佸湪web.xml鎻忚堪絎︿腑閰嶇疆濂紼xtensionsFilter 錛屽畠灝辮兘鍦↗SF鐨凢acesServlet涔嬪墠鎴幏HTTP璇鋒眰錛?br />
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
聽聽聽聽"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
聽聽聽聽"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
聽聽聽聽<context-param>
聽聽聽聽聽聽聽聽<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
聽聽聽聽聽聽聽聽<param-value>client</param-value>
聽聽聽聽</context-param>
聽聽聽聽<servlet>
聽聽聽聽聽聽聽聽<servlet-name>FacesServlet</servlet-name>
聽聽聽聽聽聽聽聽<servlet-class>
聽聽聽聽聽聽聽聽聽聽聽聽javax.faces.webapp.FacesServlet
聽聽聽聽聽聽聽聽</servlet-class>
聽聽聽聽聽聽聽聽<load-on-startup>1</load-on-startup>
聽聽聽聽</servlet>
聽聽聽聽<servlet-mapping>
聽聽聽聽聽聽聽聽<servlet-name>FacesServlet</servlet-name>
聽聽聽聽聽聽聽聽<url-pattern>/faces/*</url-pattern>
聽聽聽聽</servlet-mapping>
聽聽聽聽<servlet-mapping>
聽聽聽聽聽聽聽聽<servlet-name>FacesServlet</servlet-name>
聽聽聽聽聽聽聽聽<url-pattern>*.faces</url-pattern>
聽聽聽聽</servlet-mapping>
聽聽聽聽<filter>
聽聽聽聽聽聽聽聽<filter-name>ExtensionsFilter</filter-name>
聽聽聽聽聽聽聽聽<filter-class>
聽聽聽聽聽聽聽聽聽聽聽聽org.apache.myfaces.component.html.util.ExtensionsFilter
聽聽聽聽聽聽聽聽</filter-class>
聽聽聽聽聽聽聽聽<init-param>
聽聽聽聽聽聽聽聽聽聽聽聽<param-name>uploadMaxFileSize</param-name>
聽聽聽聽聽聽聽聽聽聽聽聽<param-value>10m</param-value>
聽聽聽聽聽聽聽聽</init-param>
聽聽聽聽聽聽聽聽<init-param>
聽聽聽聽聽聽聽聽聽聽聽聽<param-name>uploadThresholdSize</param-name>
聽聽聽聽聽聽聽聽聽聽聽聽<param-value>100k</param-value>
聽聽聽聽聽聽聽聽</init-param>
聽聽聽聽</filter>
聽聽聽聽<filter-mapping>
聽聽聽聽聽聽聽聽<filter-name>ExtensionsFilter</filter-name>
聽聽聽聽聽聽聽聽<servlet-name>FacesServlet</servlet-name>
聽聽聽聽</filter-mapping>
聽聽聽聽<welcome-file-list>
聽聽聽聽聽聽聽聽<welcome-file>index.jsp</welcome-file>
聽聽聽聽</welcome-file-list>
</web-app>


鍓嶉潰渚嬪瓙涓紝filter鐨勪袱涓弬鏁板憡璇塎yFaces鎶婂皬浜?00K鐨勬枃浠朵繚瀛樺湪鍐呭瓨涓紝鑰屽浜庡ぇ浜?0M鐨勬枃浠跺垯蹇界暐銆傚ぇ灝忓湪uploadThresholdSize鍊煎拰uploadMaxFileSize鍊間箣闂寸殑鏂囦歡鍒欎綔涓轟復鏃舵枃浠跺瓨鍦ㄧ‖鐩樹笂銆傚鏋滀綘涓婁紶寰堝ぇ鐨勬枃浠訛紝褰撳墠鐨凪yFaces鐗堟湰浼氬拷鐣ユ墍鏈夌殑琛ㄥ崟鏁版嵁錛屽氨濂借薄浣犳彁浜や簡涓涓┖琛ㄥ崟銆傚鏋滀綘鎯蟲妸涓婁紶澶辮觸鐨勬秷鎭憡璇夌敤鎴鳳紝浣犲氨寰椾慨鏀筂yFaces涓璏ultipartRequestWrapper綾葷殑婧愮爜銆傝鎴戜滑鎵懼埌鎹曡幏SizeLimitExceededException鐨勫湴鏂癸紝騫朵嬌鐢‵acesContext.getCurrentInstance().addMessage()鏉ヨ鍛婄敤鎴楓?br />姝e鍓嶉潰鎵璇寸殑錛孧yFaces Extensions 閲屾湁涓兘鍦↗SF欏甸潰閲屼嬌鐢ㄧ殑涓婁紶緇勪歡銆備笅闈㈢殑绔犺妭灝嗚鏄庡浣曚嬌鐢ㄣ?br />
涓轟簡鍦╳eb欏甸潰閲屼嬌鐢↗SF鍜孧yFaces錛屼綘蹇呴』浣跨敤<%@taglib%>鎸囦護澹版槑浠栦滑鐨勬爣絳懼簱銆?br />
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>


JSF鐨?lt;h:form>鏍囩娌℃湁method灞炴э紝鍥犱負瀹冨彧鏀寔post鏂規硶錛屼絾浠栨湁enctype灞炴э紝褰撲綘鎯充笂浼犳枃浠舵椂錛屼綘鍙互鐢ㄥ畠鏉ュ畾涔夎〃鍗曟暟鎹殑緙栫爜綾誨瀷錛?br />
<f:view>
聽聽聽聽<h:form id="MyForm" enctype="multipart/form-data" >
聽聽聽聽聽聽聽聽...
聽聽聽聽聽聽聽聽<x:inputFileUpload id="myFileId"
聽聽聽聽聽聽聽聽聽聽聽聽value="#{myBean.myFile}"
聽聽聽聽聽聽聽聽聽聽聽聽storage="file"
聽聽聽聽聽聽聽聽聽聽聽聽required="true"/>
聽聽聽聽聽聽聽聽...
聽聽聽聽</h:form>
</f:view>


MyFaces鐨?lt;x:inputFileUpload> 鏍囩璁╀綘瀹氫箟UI緇勪歡鐨勫睘鎬э紝瀹冨皢鍦ㄥ墠鍙扮敓鎴?lt;input type="file"> 鍏冪礌銆傚寘org.apache.myfaces.custom.fileupload 鍖呭惈浜嗘帶鍒禪I緇撴瀯鐨凥tmlInputFileUpload綾伙紝瀹冪殑renderer (HtmlFileUploadRenderer), 澶勭悊鐢ㄦ埛鏍囩鐨勭被 (HtmlInputFileUploadTag),聽聽UploadedFile 鎺ュ彛, 浠ュ強鍒殑甯姪綾匯?HtmlInputFileUpload 綾?緇ф壙浜嗘爣鍑嗙殑JSF HtmlInputText 緇勪歡 錛岄噸鍐欎簡鍑犱釜鍑芥暟銆侶tmlFileUploadRenderer璐熻矗鍒涘緩 HTML 鏍囩浠ュ強浠嶮ultipartRequestWrapper綾昏繑鍥濬ileItem(鍓嶉潰鎻愯繃)銆?br />
MyFaces鎻愪緵浜嗚嚜宸辯殑UploadedFile鎺ュ彛璇誨彇涓婁紶鏂囦歡鐨勫唴瀹癸紝鏂囦歡綾誨瀷錛屽悕瀛椾互鍙婂ぇ灝忥紝鑰屼笉鏄浣犵洿鎺ヨ闂敱Commons File Upload緇勪歡鍒涘緩鐨凢ileItem瀹炰緥銆備綘鐨凧SF琛ㄥ崟鑳屽悗鐨刡ean蹇呴』鏈変竴涓猆ploadedFile灞炴с備笅闈㈢殑渚嬪瓙涓紝UI緇勪歡鐨勫奸氳繃JSF琛ㄨ揪寮?#{myBean.myFile})緇戝畾鍒頒竴涓猙ean灞炴т腑銆侸SF妗嗘灦灝嗗彇寰桯tmlInputFileUpload 緇勪歡鐨勫鹼紝榪欐槸涓猆ploadedFile瀹炰緥錛屽茍鎶婂畠浼犻佸埌鑳屽悗bean鐨勫睘鎬т腑銆?br />
import org.apache.myfaces.custom.fileupload.UploadedFile;
...
public class MyBean {
聽聽聽聽private UploadedFile myFile;
聽聽聽聽public UploadedFile getMyFile() {
聽聽聽聽聽聽聽聽return myFile;
聽聽聽聽}
聽聽聽聽public void setMyFile(UploadedFile myFile) {
聽聽聽聽聽聽聽聽this.myFile = myFile;
聽聽聽聽}
聽聽聽聽...
}


鎴戜滑搴旇鐭ラ亾MyFaces鏈変袱涓疄鐜?UploadedFile鎺ュ彛鐨勭被:UploadedFileDefaultMemoryImpl鍜孶ploadedFileDefaultFileImpl銆傚綋<x:inputFileUpload>鏍囩娌℃湁storage灞炴ф垨榪欎釜灞炴у間負memory鏃訛紝浣跨敤鍓嶄竴涓被銆傚綋storage灞炴у間負file鏃剁敤鍚庝竴涓?br />
綾籙ploadedFileDefaultMemoryImp浠庝竴涓狥ileItem瀹炰緥涓彇寰椾笂浼犳枃浠剁殑鍐呭浠ュ強瀹冪殑鍚嶅瓧錛屽ぇ灝忥紝鏂囦歡綾誨瀷錛屽茍鎶婅繖浜涗俊鎭偍瀛樺湪涓涓鏈夊睘鎬ч噷銆傛墍浠ュ嵆浣緾ommons File Upload 鎶婃枃浠跺瓨鍦ㄧ鐩樹笂錛岃繖涓疄鐜癠ploadedFile鎺ュ彛鐨勭被浠嶆妸涓婁紶鏂囦歡鐨勫唴瀹瑰偍瀛樺湪鍐呭瓨閲岋紝嫻垂緋葷粺璧勬簮銆?br />綾籙ploadedFileDefaultFileImpl浣跨敤涓涓潪搴忓垪鍖栧煙(transient field)鏉ヤ繚瀛樹竴涓FileItem瀹炰緥鐨勫紩鐢ㄣ傚彧鏈夊綋getInputStream()琚皟鐢ㄦ椂錛屾墠閫氳繃榪欎釜寮曠敤璇誨彇涓婁紶鏂囦歡鐨勫唴瀹廣傝繖涓被鑺傜渷浜嗗唴瀛樼┖闂達紝浣嗗鏋滃畠琚簭鍒楀寲浜嗭紝褰撳叾琚弽搴忓垪鍖栧悗錛屼綘鏃犳硶鍙栧緱鏂囦歡鐨勫唴瀹廣傛墍浠ワ紝鏀寔涓婁紶鏂囦歡琛ㄥ崟鐨刡ean涓嶅簲淇濆瓨鍦╯ession 鍩熶腑錛屽洜涓哄簲鐢ㄦ湇鍔″櫒鍦ㄥ簲鐢ㄧ▼搴忛噸璧鋒垨鏈嶅姟鍣ㄥ叧闂椂瑕佸session bean搴忓垪鍖栥?br />
濡傛灉浣犳兂璁╁畠浠珮鏁堢殑宸ヤ綔錛屽彲浠ユ妸鑳屽悗鐨刡ean淇濆瓨鍦╮equest鍩熷茍涓斿湪<x:inputFileUpload>涓畾涔?storage="file"鑺傜渷鍐呭瓨璧勬簮銆備綘鍙互鍦║ploadedFileDefaultFileImpl娣誨姞涓涓簭鍒楀寲涓婁紶鏂囦歡鐨勫嚱鏁皐riteObject()錛岃繖鏍峰彲浠ヨВ鍐沖簭鍒楀寲鐨勯棶棰樸備負浜嗕嬌榪欎釜綾繪洿鏈夋晥鐜囷紝鐩稿簲鐨剅eadObject() 搴旇鍒涘緩涓存椂鏂囦歡鑰屼笉鏄粠鍐呭瓨涓鍙栧畠鐨勫唴瀹廣?br />
搴旂敤紼嬪簭渚嬪瓙

鍓嶉潰鐨勭珷鑺備腑錛屾垜浠弿榪頒簡MyFaces濡備綍浣跨敤Commons File Upload鏀寔涓婁紶鏂囦歡鍔熻兘銆傜幇鍦ㄨ鎴戜滑鏉ョ湅涓涓嬌鐢ㄨ繖涓姛鑳界殑渚嬪瓙銆備竴涓狫SF琛ㄥ崟(MyForm.jsp錛夎鐢ㄦ埛閫夋嫨鏂囦歡浠ュ強message-digest algorithm錛屾敮鎸佺殑bean(MyBean.java)璁$畻瑕佸湪鍒殑欏甸潰(MyResult.jsp)鏄劇ず鐨刪ash鍊箋傝繖浜涢〉闈互鍙婃敮鎸佺殑bean鍜屼竴涓狫SF閰嶇疆鏂囦歡(faces-config.xml)鐩稿叧鑱斻?br />
MyForm.jsp欏甸潰
榪欓噷鐨凧SF琛ㄥ崟浣跨敤MyFaces鐨?lt;x:inputFileUpload>鏍囩錛屼互鍙婁竴浜涙爣鍑咼SF鏍囩,榪欎簺JSF鏍囩灝嗗湪欏甸潰鐢熸垚labels,messages,浠ュ強涓涓寘鍚玬essage-digest algorithms鐨勪笅鎷夊垪琛紝榪樻湁涓涓嬌鐢ㄤ簡JSF琛ㄨ揪寮忕殑鍛戒護鎸夐挳錛岃繖涓寜閽敤鏉ュ畾涔夊鐞嗕笂浼犳枃浠剁殑action鏂規硶銆?br />
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>
<f:view>
<h:form id="MyForm" enctype="multipart/form-data" >
聽聽聽聽<h:messages globalOnly="true" styleClass="message"/>
聽聽聽聽<h:panelGrid columns="3" border="0" cellspacing="5">
聽聽聽聽聽聽聽聽<h:outputLabel for="myFileId" value="File: "/>
聽聽聽聽聽聽聽聽<x:inputFileUpload id="myFileId"
聽聽聽聽聽聽聽聽聽聽聽聽value="#{myBean.myFile}"
聽聽聽聽聽聽聽聽聽聽聽聽storage="file"
聽聽聽聽聽聽聽聽聽聽聽聽required="true"/>
聽聽聽聽聽聽聽聽<h:message for="myFileId"/>
聽聽聽聽聽聽聽聽<h:outputLabel for="myParamId" value="Param: "/>
聽聽聽聽聽聽聽聽<h:selectOneMenu id="myParamId"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽value="#{myBean.myParam}"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽required="true">
聽聽聽聽聽聽聽聽聽聽聽聽<f:selectItem itemLabel="" itemValue=""/>
聽聽聽聽聽聽聽聽聽聽聽聽<f:selectItem itemLabel="MD5" itemValue="MD5"/>
聽聽聽聽聽聽聽聽聽聽聽聽<f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/>
聽聽聽聽聽聽聽聽聽聽聽聽<f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/>
聽聽聽聽聽聽聽聽聽聽聽聽<f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/>
聽聽聽聽聽聽聽聽聽聽聽聽<f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/>
聽聽聽聽聽聽聽聽</h:selectOneMenu>
聽聽聽聽聽聽聽聽<h:message for="myParamId"/>
聽聽聽聽聽聽聽聽<h:outputText value=" "/>
聽聽聽聽聽聽聽聽<h:commandButton value="Submit"
聽聽聽聽聽聽聽聽聽聽聽聽action="#{myBean.processMyFile}"/>
聽聽聽聽聽聽聽聽<h:outputText value=" "/>
聽聽聽聽</h:panelGrid>
</h:form>
</f:view>


processMyFile() 鍑芥暟閫氳繃涓涓緭鍏ユ祦鍙栧緱涓婁紶鏂囦歡鐨勫唴瀹癸紝榪欎釜杈撳叆嫻佹槸閫氳繃璋冪敤myFile.getInputStream()鍑芥暟榪斿洖鐨勩俬ash鍊兼槸浣跨敤java.security.MessageDigest璁$畻鍑烘潵鐨勶紝鐒跺悗榪欎釜鍊艱杞崲鎴愪竴涓猻tring,鐢╩yResult灞炴у偍瀛樸?br />
package com.devsphere.articles.jsfupload;
...
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.io.*;
public class MyBean {
聽聽聽聽...
聽聽聽聽public String processMyFile() {
聽聽聽聽聽聽聽聽try {
聽聽聽聽聽聽聽聽聽聽聽聽MessageDigest md
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽= MessageDigest.getInstance(myParam);
聽聽聽聽聽聽聽聽聽聽聽聽InputStream in = new BufferedInputStream(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽myFile.getInputStream());
聽聽聽聽聽聽聽聽聽聽聽聽try {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽byte[] buffer = new byte[64 * 1024];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int count;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽while ((count = in.read(buffer)) > 0)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽md.update(buffer, 0, count);
聽聽聽聽聽聽聽聽聽聽聽聽} finally {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽in.close();
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽byte hash[] = md.digest();
聽聽聽聽聽聽聽聽聽聽聽聽StringBuffer buf = new StringBuffer();
聽聽聽聽聽聽聽聽聽聽聽聽for (int i = 0; i < hash.length; i++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int b = hash[i] & 0xFF;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int c = (b >> 4) & 0xF;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽c = c < 10 ? '0' + c : 'A' + c - 10;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buf.append((char) c);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽c = b & 0xF;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽c = c < 10 ? '0' + c : 'A' + c - 10;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buf.append((char) c);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽myResult = buf.toString();
聽聽聽聽聽聽聽聽聽聽聽聽return "OK";
聽聽聽聽聽聽聽聽} catch (Exception x) {
聽聽聽聽聽聽聽聽聽聽聽聽FacesMessage message = new FacesMessage(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽FacesMessage.SEVERITY_FATAL,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽x.getClass().getName(), x.getMessage());
聽聽聽聽聽聽聽聽聽聽聽聽FacesContext.getCurrentInstance().addMessage(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽null, message);
聽聽聽聽聽聽聽聽聽聽聽聽return null;
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}


faces-config.xml 鏂囦歡
榪欎釜JSF閰嶇疆鏂囦歡瀹氫箟浜嗘敮鎸佺殑bean鍦╮equest鍩熶互鍙婁竴涓鑸鍒欙細

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC
聽聽聽聽"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
聽聽聽聽"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
聽聽聽聽<managed-bean>
聽聽聽聽聽聽聽聽<managed-bean-name>myBean</managed-bean-name>
聽聽聽聽聽聽聽聽<managed-bean-class>
聽聽聽聽聽聽聽聽聽聽聽聽com.devsphere.articles.jsfupload.MyBean
聽聽聽聽聽聽聽聽</managed-bean-class>
聽聽聽聽聽聽聽聽<managed-bean-scope>request</managed-bean-scope>
聽聽聽聽</managed-bean>
聽聽聽聽<navigation-rule>
聽聽聽聽聽聽聽聽<from-view-id>/MyForm.jsp</from-view-id>
聽聽聽聽聽聽聽聽<navigation-case>
聽聽聽聽聽聽聽聽聽聽聽聽<from-outcome>OK</from-outcome>
聽聽聽聽聽聽聽聽聽聽聽聽<to-view-id>/MyResult.jsp</to-view-id>
聽聽聽聽聽聽聽聽</navigation-case>
聽聽聽聽</navigation-rule>
</faces-config>


MyResult.jsp 欏甸潰
榪欎釜web欏甸潰鏄劇ず浜嗗叧浜庝笂浼犳枃浠跺拰hash鍊肩殑涓浜涗俊鎭細

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
聽聽聽聽<h:panelGrid columns="2" border="0" cellspacing="5">
聽聽聽聽聽聽聽聽<h:outputText value="FileName:"/>
聽聽聽聽聽聽聽聽<h:outputText value="#{myBean.myFile.name}"/>
聽聽聽聽聽聽聽聽<h:outputText value="FileSize:"/>
聽聽聽聽聽聽聽聽<h:outputText value="#{myBean.myFile.size}"/>
聽聽聽聽聽聽聽聽<h:outputText value="Param:"/>
聽聽聽聽聽聽聽聽<h:outputText value="#{myBean.myParam}"/>
聽聽聽聽聽聽聽聽<h:outputText value="Result:"/>
聽聽聽聽聽聽聽聽<h:outputText value="#{myBean.myResult}"/>
聽聽聽聽</h:panelGrid>
</f:view>


浜嬪疄涓婏紝鏄劇ず鐨勬枃浠跺悕瀛楀彲鑳芥槸鍦ㄥ鎴風鏂囦歡緋葷粺鐨勫畬鏁磋礬寰勶紝姝e鍦ㄤ笅闈㈢殑嫻忚鍣ㄤ腑鐪嬪埌鐨勶細

image
鍥?. 緇撴灉鍥?br />
鎬葷粨
鍦ㄥ緢澶氭儏鍐典笅錛岀敤鎴烽渶瑕侀氳繃浠栦滑鐨勬祻瑙堝櫒涓婁紶鏂囦歡錛屼絾鍦ㄦ湇鍔″櫒鏂歸潰騫舵病鏈夊鐞嗚繖浜涙枃浠剁殑鑹ソ鏂瑰紡銆傛妸灝忔枃浠朵繚瀛樺湪鍐呭瓨閲屾槸鍙互鎺ュ彈鐨勶紝浣嗘妸澶ф枃浠朵繚瀛樺湪涓存椂鏂囦歡閲屼細璁╂儏鍐靛鏉傘侻yFaces璁╀綘閫夋嫨鐨勮В鍐蟲柟娉曞浣犵殑搴旂敤紼嬪簭寰堟湁甯姪錛屼絾榪欎釜妗嗘灦鏈夊嚑涓皬闂錛氬綋浣犲凡涓嶅啀闇瑕佹煇涓復鏃舵枃浠舵椂錛屽畠鍗翠笉璁╀綘鍒犻櫎錛涙枃浠跺悕鏈夋椂鍊欐槸鏂囦歡璺緞錛涘茍涓旂敤鎴蜂笂浼犺繃澶ф枃浠舵椂瀹冩病鏈変換浣曡鍛婁俊鎭備絾榪欎簺bug鏄彲浠ヤ慨澶嶇殑錛屽洜涓烘簮鐮佸彲浠ヤ慨鏀圭殑銆傝繖綃囨枃绔犲凡緇忚鏄庡摢浜涘湴鏂圭殑浠g爜鍙互鎻愰珮銆備笉榪囷紝浣犲彲鑳戒細鍙戠幇錛屽浜庡緢澶氬簲鐢ㄧ▼搴忔潵璇達紝鍘熸湁鐨凪yFaces灝卞凡緇忚凍澶熶簡銆傝繖綃囨枃绔犵殑渚嬪瓙鏄湪JSF 1.1.01, MyFaces 1.0.9,鍜?Commons File Upload 1.0涓嬫祴璇曠殑銆?br />

璧勬簮
鏈枃鐨勮寖渚嬩唬鐮?
JavaServer Faces :http://java.sun.com/j2ee/javaserverfaces/
Apache MyFaces (鍙傝: CodeZoo: MyFaces) :http://myfaces.apache.org/
Oracle ADF Faces:http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/index.html
Commons FileUpload:http://jakarta.apache.org/commons/fileupload/

Andrei Cioroianu 鏄疍evsphere鐨勫垱濮嬩漢錛屽垎鍒湪ONJava, JavaWorld, 鍙?Java Developer's Journal聽聽涓婂彂琛ㄤ簡璁稿鏂囩珷銆?



itVincent 2006-11-01 14:25 鍙戣〃璇勮
]]>
[杞琞Facelets 闈炲父閫傚悎 JSF http://www.tkk7.com/itvincent/archive/2006/11/01/78400.htmlitVincentitVincentWed, 01 Nov 2006 01:09:00 GMThttp://www.tkk7.com/itvincent/archive/2006/11/01/78400.htmlhttp://www.tkk7.com/itvincent/comments/78400.htmlhttp://www.tkk7.com/itvincent/archive/2006/11/01/78400.html#Feedback0http://www.tkk7.com/itvincent/comments/commentRss/78400.htmlhttp://www.tkk7.com/itvincent/services/trackbacks/78400.html闃呰鍏ㄦ枃

itVincent 2006-11-01 09:09 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 夫妻免费无码V看片| 亚洲情a成黄在线观看| 麻豆亚洲AV成人无码久久精品 | 亚洲av无码一区二区乱子伦as| 91短视频在线免费观看| 亚洲精品国产摄像头| 亚洲人成色77777| 无码人妻一区二区三区免费手机 | 巨胸喷奶水视频www网免费| 午夜免费国产体验区免费的| 亚洲白嫩在线观看| 亚洲av中文无码| 成年人视频免费在线观看| 日本免费精品一区二区三区| 亚洲白色白色在线播放| 亚洲午夜AV无码专区在线播放 | 美女被免费喷白浆视频| www.xxxx.com日本免费| 色老板亚洲视频免在线观| 亚洲色婷婷综合久久| 天天拍拍天天爽免费视频| 久久免费国产视频| 亚洲精品人成网线在线播放va| 久久久综合亚洲色一区二区三区| 午夜毛片不卡免费观看视频| 中文字幕免费不卡二区| 精品亚洲视频在线| 亚洲另类自拍丝袜第1页| 亚洲精品少妇30p| 免费人成视频x8x8入口| 美女视频黄免费亚洲| 无码人妻久久一区二区三区免费| 黄页网站在线免费观看| 久久综合久久综合亚洲| 4480yy私人影院亚洲| 久久久久亚洲AV无码专区网站 | 成人精品视频99在线观看免费| 亚洲另类自拍丝袜第五页| 亚洲精品国产专区91在线| 亚洲人成中文字幕在线观看 | 亚洲欧美黑人猛交群|