2012-07-10 98 views
0

我試圖從張貼的表單數據中獲取複選框的值。我已經有了表單工作,因爲我可以很容易地獲取文件的值(我已經省略了下面代碼中的文件表單字段),但複選框不會返回除null之外的任何內容。我究竟做錯了什麼?從getParameter(Tomcat Servlet)返回空值

的Servlet:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    String str = request.getParameter("isTransform"); 

    System.out.println("parameter: " + str); 
} 

HTML客戶端:

<form enctype="multipart/form-data" id="compareForm1" > 
    <input type="checkbox" value="true" name="isTransform" id="isTransform1" > 
</form> 

我jquery.form.js發送實際的崗位

var options = { 
       url:   "http://localhost:8080/TestingTomcat/someClassName", 
       type:   "POST", 
       success:  function (html){ 
        $("#placeholder").html(html); 
        change_active("comparison_page"); 
       } 
     }; 

     $("#compareForm1").submit(function() { 
      $(this).ajaxSubmit(options); 

      return false; 
     }); 

實際帖子數據:

POSTDATA =-----------------------------153501500631101 
Content-Disposition: form-data; name="isTransform" 

true 
-----------------------------153501500631101 
Content-Disposition: form-data; name="isTransform" 

true 
-----------------------------153501500631101-- 

而結果我用按鈕獲得點擊或未點擊的是:

parameter: null 
+0

當它是ajax調用你不需要附加參數和值的URL? Ajax調用不是完整的表單提交。 – kosa 2012-07-10 20:45:02

+0

我對ajax相對來說比較新......我假設自從文件發送正常後,我應該可以像使用相同方式的複選框那樣做一些簡單的事情 – zanegray 2012-07-10 20:46:55

+0

對於簡單測試,請嘗試使用http:// localhost:8080/TestingTomcat/someClassName?isTransform = false url部分 – kosa 2012-07-10 20:48:12

回答

3

參數從「多/表單數據」成形後不能脫離的getParameter方法獲得。您應該使用第三方庫來處理多部分數據,以便自己分析req.getInputStream()的內容。我認爲Apache Commons fileUpload會幫助你。

+0

啊。謝謝。那是我需要知道的。 – zanegray 2012-07-10 20:58:39