jquery+struts 2は非同期アップロードファイルを実現します。


もっと読む
struts 2アップロードファイルはformフォームを提出することによって実現されます。非同期アップロードファイルを実現するためには、jqueryの非同期によってフォームの機能を提出する必要があります。jquery.form.jsファイルを使用します。
まず関連するjsファイルをロードします。
	
	
 
フォームラベル:
 

 

 

jquery :

 

$(function(){

     $("#upload").submit(function(){
			
			
					var first = $("#first").val();
					var second = $("#second").val();
					var third = $("#third").val();
					
					$(this).ajaxSubmit({
					data: {first:first,second:second,third:third },	
                                        dataType: "json",			
					resetForm: true,		    	 
					success: function(data) { 
			                      if(data.result != null){
			               		//      ,        
			               		$("#result").html(data.result);
			               		//      
						$(".tip").fadeIn(200);
			               }
			            }
			       
			        });
				}

				return false;
			});
		});
  :
まずフォームのsubmitイベントを してから、ajaxSubmitメソッドを び して、フォームを で することができます。
でいくつかのパラメータを して、 に じて します。
url     フォームデータを するURL
タイプ  フォームデータの getまたはpost
ダタ  するパラメータキーのリスト
datatype  ステートメントが したデータの には、xml、json、scriptの3 があります。 りのタイプと の が なると、コールバック は できません。
reetForm trueであればフォームをリセットします。
success  のコールバック は、 の を します。 の では、 る によって、ヒントウィンドウの が され、ヒントウィンドウが されます。
 
にajaxSubmitメソッドを した 、ページ のフォーム を するためにreturn falseが です。
 
アクションクラスでは、 するファイル、ファイル 、ファイルタイプを し、 するgetとset があります。
	private File file;
	private String fileFileName;
	private String fileContentType;
 
 
はアクションの です。
public String upload() throws FileNotFoundException{
		//                     
		String path = ServletActionContext.getServletContext().getRealPath("/upload");

		//         
		FileInputStream fis = new FileInputStream(file);
		//          
		FileOutputStream fos = new FileOutputStream(new File(path,fileFileName));
		
		//       ,         
		byte[] b = new byte[1024];
		int length = 0;
		try {
			while((length = fis.read(b))!=-1){
				fos.write(b,0,b.length);   //    
			}
			fis.close();
			fos.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		
		return SUCCESS;
	}
 
はい、ファイルの アップロードの は このようです。 に な をしてもらいたいです。
 
 
<!-- ページ- の のビット->