【问题标题】:multiple submit button values with multipart/form-data带有 multipart/form-data 的多个提交按钮值
【发布时间】:2013-03-26 17:29:11
【问题描述】:

处理多部分文件上传表单。将 Java 与 Servlet 3.0 一起使用。好像多部分,提交按钮的值没有传递给服务器?

例如

<form method="POST" enctype="multipart/form-data" action="/servlet">
    <input type="hidden" name="mode"   value="image">
    <input type="hidden" name="id"     value="123"> 
    <input type="file"   name="file" id="file">
    <input type="submit" name="action" value="Upload">
    <input type="submit" name="action" value="Delete">
</form>

在常规帖子中,您只需检查“action”参数的值。您如何以多部分形式访问它?我尝试检查请求中的部件,但它不存在。

例如

Collection<Part> parts = request.getParts();
System.out.println("parts: "+parts.size());
for(Part part : parts){
    System.out.println(part.getName());
}

输出:

parts: 3
mode
id
file

如...

    String mode = request.getParameter("mode"); //reads "image"
    String id   = request.getParameter("id");   //read "123"
    String action = request.getParameter("action"); //reads null

你是怎么解决这个问题的?

【问题讨论】:

    标签: html servlets multipartform-data


    【解决方案1】:

    在提交之前,使用 Javascript 声明一个隐藏字段并根据单击的提交按钮设置其值

    <input type="hidden" name="submitType" value=""> 
    

    【讨论】:

      【解决方案2】:

      首先在您的程序中导入多部分 jar 文件,然后
      尝试使用 multipartrequest 类从表单中访问多部分数据 -

      MultipartRequest mpr=new MultipartRequest(request,"C:");
      String ad=mpr.getParameter("made");                    // read "image"
      String ad=mpr.getParameter("id");                    // read "123"
      String ad=mpr.getParameter("action");    // if u submit from from upload then it read "upload" or submit from delete then it read "delete" String .
      

      【讨论】:

      • 抱歉,我不确定您的意思?
      • 为我工作!作为对其他人的提示:您可以从该站点下载多部分内容:servlets.com/cos
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 2016-04-22
      • 1970-01-01
      • 2016-04-02
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多