Попытка получить значения из поля множественного выбора . Но только в состоянии получить первое значение?Получить массив из нескольких элементов, используя форму isFormField/multipart. Java Servlet
В нормальной форме не проблема, итерация по имени поля с помощью цикла for, а затем добавление значений в массив.
Но при использовании Форма заявки на многостраничный запрос, не понимая, как именно можно получить те же самые значения?
Например,
сервлет:
String sctype = null, sfieldname = null, sname = null;
FileItemIterator iterator;
FileItemStream item = null;
InputStream stream = null;
try{
ServletFileUpload upload = new ServletFileUpload();
iterator = upload.getItemIterator(request);
while (iterator.hasNext()) { // iterate over form fields
item = iterator.next();
stream = item.openStream();
String fieldname = item.getFieldName();
if (item.isFormField()) { // Problem here
String value = Streams.asString(stream);
//String[] valueArray = Streams.asString(stream) //test
if (fieldname.equals("title")){
title = value;
}
if (fieldname.equals("multipleSelect")){
//multipleSelect = valueArray[]; //test
multipleSelect = value; // only gives one value :S
} else { // gets values from uploaded files
sfieldname = item.getFieldName();
sname = item.getName();
sctype = item.getContentType();
stream.close();
}
} // if form
} // while
} ....(try catch block/finally, etc)...
JSP/HTML
<form action="FormServlet" method="post" enctype="multipart/form-data">
<textarea class="form-control" name="title" placeholder="Title"></textarea>
<select class="form-control" name="multipleSelect" multiple="multiple">
<option value="ring">Ring</option>
<option value="necklace">Necklace</option>
</select>
<input type="file" name="file1" size="50" multiple>
</form>
Надежда, что было ясно. Любые указатели очень ценятся. Спасибо за ваше время.
Спасибо VeteranLK, что отлично работает! Очень признателен. –