【问题标题】:null return value from getParameter (Tomcat Servlet)getParameter (Tomcat Servlet) 的 null 返回值
【发布时间】:2012-07-10 10:01:06
【问题描述】:

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

小服务程序:

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

【问题讨论】:

  • 当它是ajax 调用时,您不需要将param& 值附加到URL 吗? Ajax 调用不是完整的表单提交。
  • 我对 ajax 比较陌生...我认为自从文件发送良好以来,我应该能够以同样的方式做一些简单的事情,比如复选框
  • 对于简单的测试试试这个,localhost:8080/TestingTomcat/someClassName?isTransform=false 在 url 部分
  • 嘿嘿!它工作得很好,但这让我想到了另一个问题。如果我想提交整个表单,是否必须将其附加到 url?不应该有某种方法将其编码为 POST 请求吗?
  • Ajax 提交部分表单数据(您要更新)。如果你想要完整的形式,不要做 ajax。

标签: java html ajax servlets post


【解决方案1】:

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

【讨论】:

  • 啊。谢谢你。这就是我需要知道的。
猜你喜欢
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 2017-10-21
  • 2012-12-18
  • 2015-04-09
  • 1970-01-01
相关资源
最近更新 更多