Как опубликовать несколько “наборов записей” из HTML-формы в JSP или Java-сервлет?

StackOverflow https://stackoverflow.com/questions/1016272

Вопрос

Есть ли 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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top