2012-12-09 71 views
2
@POST 
    @Path("post") 
    @Consumes("multipart/form-data") 
    public Response postCategory(@FormDataParam("text1") String text1, 
      @FormDataParam("file1") InputStream file1, 
      @FormDataParam("text2") String text2, 
      @FormDataParam("file2") InputStream file2) { 
     System.out.println("CategoryService.postCategory()"); 
     System.out.println("text1:" + text1); 
     System.out.println("text2:" + text2); 

     String uploadedFileLocation = "d://uploaded/test.jpg"; 
     writeToFile(file1, uploadedFileLocation); 

     return Response.ok().build(); 
    } 

有了這個代碼,我可以得到HtmlInputFile的InputStream的HtmlInputText字符串,但我希望得到的HtmlInputText的另一個屬性,如id, name, class,甚至更多:我的動態屬性如下: 獲取FormDataParam特性和屬性

<input type='text' myattr='myattr-value' name='inpp'/> 

回答

1

當af提交orm(根據WC3 spec),將名稱和值發送到服務器。爲了獲得其他值,我建議創建一些額外的隱藏輸入。

<input type="hidden" name="valueOne" value=""> 
<input type="hidden" name="valueTwo" value=""> 

還有一些JavaScript設置提交這些領域。

<script> 
    document.yourForm.elements["valueOne"].value = "someValue"; 
    document.yourForm.elements["valueTwo"].value = "someOtherValue"; 
</script> 

<form name="yourForm" method="POST" onSubmit="setValues();"> 

但是,您可能想問爲什麼id和類對錶單提交重要。這種類型的設計可能會將後端控制器與前端標記綁定得太緊密。這可能會導致一些問題。

+0

看到我的情況:我有一個表單,用戶可以添加圖片數量,(1,5,10或更多,這是未知的)我怎麼能讓他們在beckend? – mariami

+0

在這種情況下,您應該使用ajax來關閉多個帖子,而不是嘗試在單個帖子中處理這些帖子。 –

+0

這裏來了我的問題。 「他們」希望提交... – mariami