Загрузка файла с другими полями

0

У меня есть Html-форма с enctype="multipart/form-data". У меня есть класс dto которого есть все сеттер и геттеры. Поскольку я передаю форму как multipart, getParameter() не будет работать, поэтому в servlet я использовал List, как показано ниже,

List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
    // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
    String fieldname = item.getFieldName();
    String fieldvalue = item.getString();
    // ... (do your job here)
    //getters and setters

} else {
    // Process form file field (input type="file").
    String fieldname = item.getFieldName();
    String filename = FilenameUtils.getName(item.getName());
    InputStream filecontent = item.getInputStream();
    // ... File uploading code
}
} 

Здесь моя проблема заключается в том, как я могу вызвать getters и seters in for loop. Я думаю, что здесь должен быть один оператор, который будет применяться ко всем параметрам через цикл. Может ли кто-нибудь помочь мне в этом.

  • 0
    к какому типу относится ваш класс dto, вы можете преобразовать его в FileItem
  • 0
    @ vikeng21 Я не знаю об этом, но это java-файл, имеющий строковый тип переменных, и для этого есть все методы получения и установки.
Показать ещё 1 комментарий
Теги:
jsp
servlets
file-upload

1 ответ

1
Лучший ответ

Вы можете использовать такую библиотеку, как Apache Commons BeanUtils, например:

if (item.isFormField()) {
    // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
    String fieldname = item.getFieldName();
    String fieldvalue = item.getString();

    BeanUtils.setProperty(dto, fieldname, fieldvalue);
}
  • 0
    к. , , что здесь ,
  • 0
    это объект моего класса ДТО. , ,
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню