getParameter的null返回值(Tomcat Servlet)

时间:2012-07-10 20:39:43

标签: java html ajax servlets post

我正在尝试从已发布的表单数据中获取复选框的值。我已经有了表单,因为我可以很容易地得到一个文件的值(我在下面的代码中省略了文件表单字段),但是复选框不会返回除null之外的任何内容。我究竟做错了什么?

的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

1 个答案:

答案 0 :(得分:3)

来自'multipart / form-data'表单的参数post无法从getParameter方法获取。您应该使用第三方库来处理多部分数据,以便自己解析req.getInputStream()的内容。我认为Apache Commons fileUpload会对你有帮助。