JAVA后台获取不到form表单提交值的情况
可能的原因:
1、提交元素的name与获取的name不符--request.getParameter(name)
2、传递的值为空
3、form没有嵌套input
4、form加了enctype="multipart/form-data"属性
其中第4种可能的情况主要是是因为在使用multipart/form-data属性之后请求体发生了变化。不是key=value的形式出现了,所以说获取不到。
解决办法:
(1)我们可以通过js代码来些修改,把我们的参数追加在url的后边。
<div>
<div class="bjui-searchBar">
<span style="font-size: 14px; padding: 3px;font-weight: 300"> 文件名称: </span>
<input type="text" class="input-nm" value=" ${staticResourceFile.fileName!}" readonly size="50" data-rule="required;length(1~128)">
</div>
<div class="bjui-searchBar">
<span style="font-size: 14px; padding: 3px;font-weight: 300"> 当前目录: </span>
<form action="${ctxPath}/staticResource/upload" name="upload" enctype="multipart/form-data" method="post">
<input type="text" name="currentPath" class="input-nm" value="${staticResourceFile.parentPath!}" size="50" data-rule="required;length(1~128)">
<input type="file" name="file">
<input type="submit" name="上传">
</form>
<span>当前支持格式为:jpg,png,css,js,mp4(50M以内)</span>
</div>
</div>
<script src="/www/xgwy/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function formSubmit(){
var action = "${ctxPath}/staticResource/upload";
action += "?currentPath="+document.upload.currentPath.value;
document.upload.action = action;
document.upload.submit();
}
</script>
(2)通过修改服务器端代码。前提是利用jar包。
代码后续再加上。
标签:form,upload,multipart,action,document,data From: https://blog.51cto.com/u_16128050/6342861