Aktualisierung: Das Problem lag schließlich in der Flash-Komponente selbst. Sie kompilierte die mehreren Werte des Elements nicht richtig. Ich habe die Entwickler benachrichtigt und sie haben einen Workaround implementiert. Commons FileUpload unterstützt mehrere Werte gemäß der akzeptierten Antwort.
Ich habe ein Formular, enctype="multipart/form-data" mit einem
<select name="XX" multiple="multiple">
und eine Flash-Upload-Komponente, mit der der Benutzer mehrere Dateien auswählen kann. Wenn ich den POST mit Apache Commons FileUpload verwende, erkenne ich die Wählen Sie Feld über
item.isFormField() == true
und fahren Sie fort, die Details über
// Process a regular form field
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
}
Das Problem, das ich habe, ist, dass item.getString(); gibt nur den ersten ausgewählten Wert aus der Wählen Sie Feld; egal wie viele Elemente ich auswähle, ich bekomme nur das erste Element.
Wenn ich die Standard-Servlet-Methode für die Parameterextraktion verwende, d. h..
final String[] values = request.getParameterValues("XX");
Werte leer ist, was vermutlich darauf zurückzuführen ist, dass das Formular mehrteilig kodiert ist.
Wie kann ich diese mehrfach ausgewählten Werte aus meinem Mehrfachauswahlfeld abrufen?
Diese (unbeantwortete) Frage wurde auch in den Sun-Foren gestellt von einem anderen Autor.