Comment publier plusieurs «jeux d’enregistrements» d’un formulaire HTML à un JSP ou à un servlet Java?

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

Question

Est-ce que JSP ou toute technologie légère connexe, telle que JSTL, exécute HTTP POST "groupement de données", ou élément de formulaire de prise en charge "indexation"? comme le fait PHP?

Par exemple, vous pouvez créer un formulaire HTML avec les entrées suivantes:

<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]" />

... et PHP analysera cela automatiquement dans un tableau associatif imbriqué. JSP, les servlets Java ou toute autre spécification ou outil associé fournissent-ils ce type de traduction par défaut?

L'objectif est de soumettre plusieurs " groupes d'enregistrement " sous une forme unique et les traiter côté serveur dans JSP ou un servlet.

Conditions requises:

  • La fonctionnalité ne peut pas compter sur JavaScript
  • Pas de framework complet comme Spring, Struts, etc.
  • J'essaie d'éviter de réinventer la roue avec ma propre convention de dénomination et mon analyse manuelle des chaînes / Regex

Liens connexes:

Était-ce utile?

La solution

Essayez ceci,

<input type="text" name="personNames" />
<input type="text" name="personAges" />
<input type="text" name="personNames" />
<input type="text" name="personAges" />

Vous devriez envisager de créer des champs de saisie à l'aide d'une boucle. Vous n'avez pas besoin de postfixer le nom même. et obtenez des valeurs de paramètres comme celle-ci dans votre servlet,

String[] names = request.getParameterValues("personNames");
String[] ages = request.getParameterValues("personAges");

Cela viendra dans le même ordre que celui défini dans votre code HTML. Puis passez dessus comme ci-dessous,

for( String name : names) {
   System.out.println(name);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top