0

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

这是我的代码:

    <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){}
}

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

感谢您的每一个回复。

4

2 回答 2

0

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

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

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

于 2017-10-26T07:56:07.430 回答
-1

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

<option name="jenisKartuLimit" value="Sementara">Sementara</option>
<option name="jenisKartuLimit" value="Permanen">Permanen</option>
于 2017-10-26T03:06:20.080 回答