У меня есть форма, которая содержит поля и элементы загрузки файлов, при отправке формы она генерирует исключение нулевого указателя, когда я регистрирую объект формы, все поля становятся нулевыми, и когда я удаляю форму 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.

1
Vinod Puliyadi 10 Мар 2011 в 13:10
Пример кода очень поможет.
 – 
Anthony Grist
10 Мар 2011 в 13:16

1 ответ

Используйте библиотеку FileUpload для анализа запроса от клиента.

0
ilalex 10 Мар 2011 в 13:16