2012-07-10 77 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