Я использую многочастную библиотеку форм O'Reilly для сервлетов , чтобы иметь возможность обрабатывать загрузку файлов. Я нашел это полезным и реальным, но я столкнулся с проблемой, которую не могу решить. Речь идет о параметрах с несколькими значениями (например, множественный выбор).
Я анализирую параметры, как показано ниже:
List<Units> unitsParams = new ArrayList<Units>();
while (mp != null && (part = mp.readNextPart()) != null) {
if (part.isFile()) {//Es un fichero.
FilePart filePart = (FilePart) part;
if (filePart.getContentType().equals("image/jpeg")) {
InputStream pis = filePart.getInputStream();
// It's a file, handle it
}
} else if (part.isParam()) { // Es un parametro
// Handle the actual params
String namePar = part.getName();
ParamPart paramPart = (ParamPart) part;
String valorPar = paramPart.getStringValue();
boolean fin = null == valorPar;
if (!fin) {
if (namePar.equals("id")) {
id = valorPar;
} else if (namePar.equals("name")) {
orgName = valorPar;
} else if (namePar.equals("unitSelect")) {
unitsParams.add(valorPar);
}
}
}
Для параметра с несколькими значениями я думал, что он будет повторяться (посылать разные части) столько раз, сколько количество значений для параметра unitSelect
я отправлял, но я могу получить только одно значение.
Кто-нибудь использовал эту библиотеку и сталкивался с этой проблемой? Я стараюсь не менять библиотеку, так как загрузка файла работает отлично, и очень сложно изменить значительную часть кода для нескольких сервлетов.
Любые предложения приветствуются.
Спасибо.