被这个问题困扰了很久。。。真是醉了javascript
借用了jquery 的插件,jquery-form.js,连接:http://jquery.malsup.com/form/#downloadhtml
js代码(options包含不少参数,能够进行设置)java
<script type="text/javascript"> function save(){ var options = { success:function(data){ if(data.success==true) { alert("保存成功"); } } } // 当没有选择上传文件,若是还想正确提交时必须作如下处理 if($("#pdfInput").val()==""){ $("#pdfInput").remove(); $("#uploadForm").attr("enctype", "application/x-www-form-urlencoded"); //或者不用remove()就设为disabled也能够 //$("#pdfInput").attr("disabled", "disabled"); } $('#uploadForm').ajaxSubmit(options); } </script>
Form表单jquery
<form action="${ctx}/StdManage/standardsUpdate" id="uploadForm" method="post" enctype="multipart/form-data"> <input type="text" name="id"> <input type="file" name="stdFile" id="pdfInput"> </form> <button type="button" onclick="save()">save</button>
Controllerweb
@Controller("/StdManage") public class StdManageController{ @RequestMapping("standardsUpdate") public void standardsUpdate(StandardWithBlobs standardWithBlobs) { System.out.println("id:" + standardWithBlobs.getId()); } }
StandardWithBlobsajax
package whu.edu.irlab.model; import org.springframework.web.multipart.MultipartFile; public class StandardWithBLOBs extends Standard{ private String entities; private String possibleEntities; private MultipartFile stdFile; getter and setter ... }