2013-03-17 67 views
0

使用多部分文件上載表單。在Servlet 3.0中使用Java。似乎與多部分,提交按鈕的值不傳遞給服務器?使用多部分/表單數據提交多個按鍵值

例如

<form method="POST" enctype="multipart/form-data" action="/servlet"> 
    <input type="hidden" name="mode" value="image"> 
    <input type="hidden" name="id"  value="123"> 
    <input type="file" name="file" id="file"> 
    <input type="submit" name="action" value="Upload"> 
    <input type="submit" name="action" value="Delete"> 
</form> 

在常規文章中,您只需檢查「action」參數的值即可。你如何以多部分形式訪問它?我試圖在請求中檢查這些部分,但它不在那裏。

例如

Collection<Part> parts = request.getParts(); 
System.out.println("parts: "+parts.size()); 
for(Part part : parts){ 
    System.out.println(part.getName()); 
} 

輸出:

parts: 3 
mode 
id 
file 

如...

String mode = request.getParameter("mode"); //reads "image" 
    String id = request.getParameter("id"); //read "123" 
    String action = request.getParameter("action"); //reads null 

你如何解決這個問題呢?

回答

2

有一個隱藏字段聲明,並設置其值爲基礎上提交按鈕點擊,您提交之前,使用Javascript

<input type="hidden" name="submitType" value=""> 
在你的程序
1

首次進口多jar文件,然後
嘗試使用multipartrequest類從您的表單訪問多部分數據 -

MultipartRequest mpr=new MultipartRequest(request,"C:"); 
String ad=mpr.getParameter("made");     // read "image" 
String ad=mpr.getParameter("id");     // read "123" 
String ad=mpr.getParameter("action"); // if u submit from from upload then it read "upload" or submit from delete then it read "delete" String . 
+0

對不起,但我不確定你的意思?我編輯了 – PrecisionPete 2013-03-25 17:59:22

+0

。再次檢查:) – 2013-03-26 08:57:05

+0

爲我工作!作爲其他人的提示:您可以從此站點下載多部分內容:http://www.servlets.com/cos/ – Sorcerer 2013-05-04 23:28:28