无法从servlet中的getParameter中获取值

时间:2017-10-26 02:42:47

标签: jsp servlets multipartform-data getparameter

我有一个使用JSP的视图页面。我有enctype =“multipart / form-data”,并且还有使用select选项的下拉字段。

这是我的代码:

    <form id="formNaikLimit" action="" enctype="multipart/form-data"
                method="post">
                              <label for="jenisKartuLimit">Jenis Kenaikan Limit Kartu
                                Kredit </label> <select class="form-control mandatory"
                                 name="jenisKartuLimit" required="required">
                                <option value="Sementara">Sementara</option>
                                <option value="Permanen">Permanen</option>
                            </select>
                                    <div class="form-group-1" style="">
                                        <input id="attachKtp" name="attachKtp" type="file" class="file"
                                            required="required" accept=".png,.jpg,.pdf">
                                    </div>
                                    <div class="alert alert-danger"
                                        style="margin-top: 10px; display: none;" id="sample"
                                        data-for="attachKtp">Attachment KTP wajib diisi</div>
                                    <br />
</form/>

这是我的servlet:

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


try {
            this.action = request.getParameter("action");
            String temp = request.getParameter("jenisKartuLimit");
}catch(Exception e){}
}

当我尝试调试时,我总是得到临时值为null,为什么我无法读取jenisKartuLimit的选定值?

感谢您的每一个回复。

2 个答案:

答案 0 :(得分:0)

  

表单的enctype =“multipart / form-data”选项是否允许提交其他表单数据?如果它不允许它,那么我必须将此附加文本字段发送到服务器的其他选项是什么。   使用enctype =“multipart / form-data”没有问题。您可以获取其他字段,然后以这种形式提交。

使用enctype =“multipart / form-data”时,无法使用request.getParameter(name);直接获取参数。使用它时,表单字段不可用作请求的参数,它们包含在流中,因此您无法以正常方式获取它。您可以在使用commons-fileupload的文档中找到一种方法,在处理上传的项目下。

或者您可以使用Servlet 3.0版本,它具有多部分支持,您可以在没有第三方api jar帮助的情况下获取上传文件的请求属性。

答案 1 :(得分:-1)

尝试将您的name属性添加到选项元素

<option name="jenisKartuLimit" value="Sementara">Sementara</option>
<option name="jenisKartuLimit" value="Permanen">Permanen</option>