request.getParameter在提交按钮上给出null值

Arp*_*pit 3 java servlets multipartform-data apache-commons-fileupload

点击生成PDF /生成Excel提交按钮,它正在请求servlet FileUpload进行处理.现在当我试图获取我按下的提交按钮的值时,它给我的值为null.我想知道为什么会这样?

这是我的HTML代码:

<form action="FileUpload" method="post" enctype="multipart/form-data">
<input type="file" id="filename" name="filename"><br>
<input type="button" value="Upload"><br>
<input type="submit"  value= "Generate PDF" name="pdf">
<input type = "submit" value="Generate Excel" name="xls">
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的servlet代码:

String generatePDF= request.getParameter("pdf");//null
if(generatePDF.equals("Generate PDF"))//Giving NullPointerException at this step
{
  System.out.println("generatePDF button pressed");
}
Run Code Online (Sandbox Code Playgroud)

tom*_*mor 8

据我所知,问题似乎在于您将多部分请求发送到服务器.这个问题的第二个答案似乎解决了你的问题.实质上,您必须使用Apache Commons FileUpload包中的FileItem类提供的方法.或者,如此处所示,您可能必须使用getPart()HttpServletRequest类的方法.