У меня есть форма, которая содержит поля и элементы загрузки файла, при отправке формы она выдает исключение нулевого указателя, когда я регистрирую объект формы, все поля становятся нулевыми, а когда я удаляю форму enctype="multipart/form-data"1
, тогда я получаю все поля, но объект файла становится нулевым.
Код формы:
<form:form method="post" id="form" name="frm" action="${action}" enctype="multipart/form-data">
<table>
<tr>
<td><form:label path="productName">Product Name: </form:label></td>
<td>
<form:input path="productName"/>
</td>
</tr>
<tr>
<td><form:label path="rfile">Receipt File</form:label></td>
<td><form:input path="rfile" id="receiptFile" type="file" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Upload Receipt" /></td>
</tr>
</table>
</form:form>
Код контроллера:
@RequestMapping(value="/test.do", method = RequestMethod.POST)
public ModelAndView testReceipt(@ModelAttribute("frm") ReceiptForm form, BindingResult result, HttpServletRequest request){
System.out.println("---"+form.getProductName());
System.out.println("---"+form.getRfile());
}
Обратите внимание, что тип файла: CommonsMultipartFile