Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在多部分文件上载表单请求中获取请求中的参数值_Javascript_Java_Jsp_Servlets - Fatal编程技术网

Javascript 在多部分文件上载表单请求中获取请求中的参数值

Javascript 在多部分文件上载表单请求中获取请求中的参数值,javascript,java,jsp,servlets,Javascript,Java,Jsp,Servlets,我有一个JSP格式的表单 <form action="/view/tool/Process" method="post" enctype="multipart/form-data" target="_blank"> <p class="bottomPadded">&nbsp;</p>

我有一个JSP格式的表单

                   <form action="/view/tool/Process" method="post"
                        enctype="multipart/form-data" target="_blank">
                        <p class="bottomPadded">&nbsp;</p>
                        <input type="file" name="file" /> 
                        <input id="fileprogramtype" type="text" name="programtype" style="display: none;"/>
                        <p class="bottomPadded">&nbsp;</p>
                        <p class="generalContent bottomPadded"><input class="imageBtn" type="image" name="image" src="/images/upload.png" /></p>
                    </form>
它甚至没有进入环路

有人能告诉我在多部分表单请求的情况下如何获取其他参数的值吗

你知道我怎样才能在中获得
的值吗 进程上载

是的,你可以过得去
request.getParameter(“programtype”)

您确定您得到的是
null
,因为根据

以字符串形式返回请求参数的值,如果 参数不存在。请求参数是额外的信息 随请求一起发送。对于HTTP servlet,参数包含在 查询字符串或已发布的表单数据

如果不手动设置值,则可以获得空值,因为它是一个隐藏字段,但不会获得空值

在使用
enctype=“multipart/form data”
时,在我的开发环境中验证类似的代码后回答相同的问题

使用
request.getParameter(“programtype”)
不能直接获取参数

在这种情况下,表单字段不能作为请求的参数使用,它们包含在流中,所以您需要从流中获取它们。一种可能的方法是使用。以下是官方文档中的示例代码(请参阅“处理上传的项目”一节)


您是否尝试使用多部分表单数据?因为它不适合任何人that@tima是的,我只尝试了多部分表单。请检查这一点。这很奇怪,即使我使用注释配置servlet,我也得到了
null
。是的,我得到了null。。我得到了答案。。
    <servlet>
        <servlet-name>ProcessUpload</servlet-name>
        <servlet-class>view.tool.servlet.ProcessUpload</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ProcessUpload</servlet-name>
        <url-pattern>/view/tool/Process</url-pattern>
    </servlet-mapping>
Collection<Part> parts = request.getParts();

            for(Part p : parts) {
                logger.info("Parts ::: "+p.getName());
                if ("programtype".equals(p.getName()))
                {
                    InputStream inputStream = p.getInputStream();
                    BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
                    programtype = br.readLine();
                    logger.info("Here is Program Type ::"+programtype);
                }
            }
// Process the uploaded items
Iterator<FileItem> iter = items.iterator();
while (iter.hasNext()) {
    FileItem item = iter.next();

    if (item.isFormField()) {
        processFormField(item);
    } else {
        processUploadedFile(item);
    }
}
 // Process a regular form field if (item.isFormField()) {
     String name = item.getFieldName();
     String value = item.getString();
     ... }