JSP Servlet getParameter给出null

时间:2018-10-27 11:57:13

标签: java jsp servlets

在servlet中,我尝试使用以下形式获取提交按钮的值

JSP和Servlet是不同的Web模块

Servlet代码:

public static String getValue(String value) {
  return (value != null) ? value.trim() : "";
}

String article_title = 
Utilities.getValue(request.getParameter("txtArticleTitle"));
byte article_image_count  = Utilities.getByteParam(request,"txtFileCount");
out.print("Title is: " + article_title+" ----- ");
out.print("File Count is: " + article_image_count);

JSP形式:

<form action="" method="" enctype="multipart/form-data">
<textarea name="txtArticleTitle" rows="3" value="" placeholder=""></textarea>
<input id="filePost" type="file" hidden="true" onchange="setImagePost()">
<button type="button" class="btn btn-sm btn-default pull-right" onclick="submitArticleAE(this.form);"></button>
</form>

JS代码

function submitArticleAE(fn){
//to check input form
    alert("Title is: "+fn.txtArticleTitle.value+" ---- File Count is: "+fn.txtFileCount.value);
    if(checkArticleAE(fn)) submitForm(fn,"POST","/adv/article/upload");
}

https://i.stack.imgur.com/BYjOJ.png

1 个答案:

答案 0 :(得分:1)

使用enctype =“ multipart / form-data”时,不能使用request.getParameter(name);直接获取参数。使用表单字段时,表单字段不可用作请求的参数,而是包含在流中,因此您无法以常规方式获取表单字段。您可以在使用文档中找到一种方法来执行此操作 http://commons.apache.org/proper/commons-fileupload//using.html, 在“处理上传的项目”部分下。

来源:

Sending additional data with multipart