Wie mehrere „Datensätze“ aus einem HTML-Formular zu JSP oder einem Java-Servlet-POST?
-
06-07-2019 - |
Frage
Ist JSP oder die zugehörige leichte Technologie wie JSTL führt HTTP POST "Datengruppierung" oder Support-Formular-Element "Indizierung" in der Art und Weise PHP tut?
Zum Beispiel können Sie ein HTML-Formular mit den folgenden Eingaben erstellen:
<input type="text" name="person[1][name]" />
<input type="text" name="person[1][age]" />
<input type="text" name="person[2][name]" />
<input type="text" name="person[2][age]" />
... und PHP wird, dass in ein verschachteltes assoziatives Array automatisch analysieren. Habe JSP, Java Servlets oder ein verbundener spec oder Werkzeug bietet diese Art der Übersetzung aus der Box?
Das Ziel ist es, mehr „record Gruppen“ in einer einzigen Form zu unterbreiten und sie serverseitige in JSP oder ein Servlet verarbeiten.
Anforderungen:
- Die Funktionalität kann nicht stützen sich auf JavaScript
- Keine volle Frameworks wie Spring, Struts oder dergleichen
- Ich versuche, das Rad mit meiner eigenen Namenskonvention und manuelles String-Parsing / Regex zu vermeiden, neu zu erfinden
Links zum Thema:
Lösung
Versuchen Sie dies,
<input type="text" name="personNames" />
<input type="text" name="personAges" />
<input type="text" name="personNames" />
<input type="text" name="personAges" />
Sie sollten sich überlegen, um Eingabefelder zu erstellen eine Schleife verwenden, müssen Sie nicht die name
auch postfix. und Parameterwerte wie dies in Ihrem Servlet erhalten,
String[] names = request.getParameterValues("personNames");
String[] ages = request.getParameterValues("personAges");
Es wird in der gleichen Reihenfolge kommen, wie in Ihrem HTML definiert. Dann Schleife über sie unten mögen,
for( String name : names) {
System.out.println(name);
}