Как опубликовать несколько “наборов записей” из HTML-формы в JSP или Java-сервлет?
-
06-07-2019 - |
Вопрос
Есть ли JSP или какие-либо связанные легкий вес технология, подобная JSTL, выполняет HTTP POST "группировку данных" или поддерживает "индексирование" элементов формы так, как это делает PHP?
Например, вы можете создать HTML-форму со следующими входными данными:
<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]" />
...и PHP автоматически преобразует это во вложенный ассоциативный массив.Предоставляют ли JSP, Java-сервлеты или любые связанные спецификации или инструменты такой вид перевода "из коробки"?
Цель состоит в том, чтобы отправить несколько "групп записей" в одной форме и обработать их на стороне сервера в JSP или сервлете.
Требования:
- Функциональность не может полагайтесь на JavaScript
- Никаких полноценных каркасов, таких как пружина, распорки или тому подобное
- Я пытаюсь избежать изобретения колеса с моим собственным соглашением об именовании и ручным разбором строк / регулярным выражением
Ссылки по теме:
Решение
Попробуй это,
<input type="text" name="personNames" />
<input type="text" name="personAges" />
<input type="text" name="personNames" />
<input type="text" name="personAges" />
Вам следует подумать о создании полей ввода с помощью цикла, вам не нужно постфиксить name
квиты.и получите подобные значения параметров в вашем сервлете,
String[] names = request.getParameterValues("personNames");
String[] ages = request.getParameterValues("personAges");
Он будет отправлен в том же порядке, как определено в вашем HTML.Затем повторите цикл над ним, как показано ниже,
for( String name : names) {
System.out.println(name);
}