Jsp 获取多部分表单数据的参数
我的.JSP页面如下所示:Jsp 获取多部分表单数据的参数,jsp,servlets,multipartform-data,getparameter,Jsp,Servlets,Multipartform Data,Getparameter,我的.JSP页面如下所示: <form action="/email/save.do" method="post" enctype="multipart/form-data"> <div class="form-group"align="right"> <label for="subject" >: subject</lab
<form action="/email/save.do" method="post" enctype="multipart/form-data">
<div class="form-group"align="right">
<label for="subject" >: subject</label>
<input type="text" class="form-control" name="subject" id="subject">
</div>
<div class="form-group" align="right">
<label for="uploadFile">: upload file </label>
<input type="file" class="form-control " name="uploadFile" id="uploadFile">
</div>
<button type="submit" class="btn btn-success btn-block" name="submit">save
</button>
</form>
这是我用于此表单的Servlet:
@WebServlet("/email/save.do")
public class EmailSave extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Email email = new Email();
try {
UploaderUtils uploader = new UploaderUtils(req, "uploadFile", "C:\\ROOT\\UPLOAD", 10000000l, false);
uploader.save();
email.setFileAddress("C:\\ROOT\\UPLOAD\\" + uploader.getFileName());
} catch (Exception e) {
e.printStackTrace();
}
email.setDateTime(new Timestamp(System.currentTimeMillis()));
email.setSubject(req.getParameter("subject"));
try {
EmailService.getInstance().save(email);
} catch (Exception e) {
e.printStackTrace();
}
}
首先我可以把上传的文件保存在上面提到的目录中,到目前为止还不错
主要问题是,我无法通过EmailSave
类中的req.getparameter()
方法获取表单传递的任何其他参数。我实际上有它们,但是有空值
我尝试了很多解决方案,但都不管用。其中一个解决方案提到,您可以使用multipasser
而不是multiRequest
,但我不知道如何做到这一点,如果这是答案,请解释如何做到这一点
@WebServlet("/email/save.do")
public class EmailSave extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Email email = new Email();
try {
UploaderUtils uploader = new UploaderUtils(req, "uploadFile", "C:\\ROOT\\UPLOAD", 10000000l, false);
uploader.save();
email.setFileAddress("C:\\ROOT\\UPLOAD\\" + uploader.getFileName());
} catch (Exception e) {
e.printStackTrace();
}
email.setDateTime(new Timestamp(System.currentTimeMillis()));
email.setSubject(req.getParameter("subject"));
try {
EmailService.getInstance().save(email);
} catch (Exception e) {
e.printStackTrace();
}
}