表单提交不接受参数

问题描述 投票:0回答:1

我有一个表单,其中包含一个文件输入字段和 2 个带有

name="action"
的按钮,值分别为
'sign'
'verify'
。 我试图在提交表单时获取该文件和按钮参数 但我的控制器没有接收到参数并且给出了 null。

这是我的表单操作 URL 映射的控制器代码

@RequestMapping(value="/secure/pqca/verifydoc")
public String verifiedDoc(@RequestParam("form_action") String form_action, 
                          @RequestParam("document") MultipartFile file, 
                          Model model, HttpServletRequest request) {
    
    System.out.print("hiii   " + request.getParameter("form_action"));
    pqcaService.verifiedDoc(form_action, file, model, request);
    return "pqca/verifyDocument";
}

这是表格

<form id="add_sign_form" 
      action="/pqra/secure/pqca/verifydoc"
      method="post" 
      enctype="multipart/form-data">

    <div class="col-lg-8">
        <input type="file"
               name="document"
               path="doc"
               class="form-control"
               placeholder="document"
               maxlength="50" />
    </div>

    <button type="submit" 
            id="add_sign" 
            name="form_action" 
            value="sign"
            class="btn btn-sm btn-primary login-submit-cs" 
            style="margin-top:  10px">
        Add Signature
    </button>

    <button type="submit" 
            id="verify_sign" 
            name="form_action"
            value="verify"
            lass="btn btn-sm btn-primary login-submit-cs"
            style="margin-top: 10px">
        Verify Signature
    </button>
</form>
java spring spring-mvc jsp
1个回答
0
投票

您提交的表单不接受参数,因为您没有发送参数。

对控制器的请求是

POST
,其中包含
multipart/form-data
MIME 类型。这样就可以分部分解析了。其中一些应该包括来自输入字段的表单数据值存储。但是您使用
<button>
值来存储所需的参数值。该元素不会添加到表单数据中,因为它不是
<input>
字段。您应该使用隐藏的输入字段。

     <input type="submit" 
            id="add_sign" 
            name="form_action" 
            value="sign"
            class="btn btn-sm btn-primary login-submit-cs" 
            style="margin-top:  10px">
        Add Signature
    
    <input type="submit" 
            id="verify_sign" 
            name="form_action"
            value="verify"
            lass="btn btn-sm btn-primary login-submit-cs"
            style="margin-top: 10px">
        Verify Signature
    
© www.soinside.com 2019 - 2024. All rights reserved.