这个错误是SpringMVC报出来的,见到它意味着html/jsp页面的控件名称 和 controller里函数的参数不符。
<form name="form1" action="uploadDocument.html" method="post" ENCTYPE="multipart/form-data"> <div class="form" > <p> <span class="req"><input id="remarkTxt" name="remarkTxt" class="field size4" title="Enter the date" /></span> <label>Remark: <span>(The brief introduction of the file)</span></label> </p> <p> <span class="req"><input type="file" name="uploadFileCtrl" class="field size4" title="Choose the file" /></span> <label>Upload file: <span>(Click browse to choose)</span></label> </p> </div> <div class="buttons"> <input id="queryBtn" type="button" class="button" value="Submit" /> </div> </form>
而对应的函数参数应该这样写:
@RequestMapping(value="/uploadDocument") public String uploadDocument( @RequestParam("remarkTxt") String remark, @RequestParam("uploadFileCtrl") MultipartFile file, HttpServletRequest request, HttpServletResponse response){ .... } }
以后碰到这条错误信息时,首先应检查从客户端提交的数据是否与Controller 处理方法接收的参数类型一致,换句话说,POST的数据结构类型应和接收时进行类型匹配自动转换的数据类型要一致。