Как отправить несколько «наборов записей» из формы HTML в JSP или сервлет Java? - PullRequest
2 голосов
/ 19 июня 2009

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
  • Нет полных фреймворков, таких как Spring, Struts и т. П.
  • Я пытаюсь не изобретать велосипед заново, руководствуясь собственным соглашением об именах и ручным разбором строк / Regex

Ссылки по теме:

1 Ответ

5 голосов
/ 19 июня 2009

Попробуйте это,

<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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...