Par ordre de demande.getParameterNames()
Comment puis-je obtenir tous les parameterNames dans un formulaire HTML
la même séquence qu'ils sont dans la forme.
je.e si le formulaire contient des .... FirstName, LastName,
MiddleName et de l'Âge . le résultat doit apparaître dans le
même séquence
J'ai essayé d'utiliser ce qui suit, mais cela décale la
ordre de sortie:
Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements())
{
String paramName =
(String)paramNames.nextElement();
out.print(paramName);
}
Hmmm.. si vous expliquez vos besoins, vous obtiendrez une meilleure des solutions. Vous pouvez toujours passer votre commande comme une autre forme de paramètre. demande.setParameter("form_ordering", données) ou si le formulaire de commande est relativement stable externaliser le formulaire de détails dans un fichier de propriété ou à l'utilisation d'ajax pour parler du serveur. Ajax bibliothèques pouvez convertir vos valeurs d'un formulaire en Json et généralement de l'opération est de série.
Pourquoi ne vous vous souciez de la séquence? Le problème est susceptible d'être résolu ailleurs.
Voir aussi stackoverflow.com/questions/2317281/...
Pourquoi ne vous vous souciez de la séquence? Le problème est susceptible d'être résolu ailleurs.
Voir aussi stackoverflow.com/questions/2317281/...
OriginalL'auteur jcdmb | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas qu'il n'y a rien dans la spécification HTTP, que les forces de navigateurs pour envoyer des paramètres dans l'ordre où elles apparaissent dans le formulaire. Vous pouvez travailler autour de en les préfixant d'un numéro au nom du paramètre comme:
Après que vous pourriez fondamentalement l'ordre des éléments par le préfixe. C'est moche mais c'est la seule façon de le faire. Quelque chose comme ...
- T-il vraiment de l'importance de l'ordre dans lequel vous recevez les paramètres ?
C'est la chose il n'y a pas d'ordre implicite pour les paramètres de la requête HTTP. Si vous voulez garder l'ordre, vous devez établir l'ordre dans la façon dont vous le nom de l'paramètres et ensuite de les trier quand vous les obtenez dans le côté serveur. Donc, fondamentalement, c'est le seul moyen de les récupérer dans l'ordre.
OriginalL'auteur Manuel Salvadores
Aucune des réponses ici n'avait vraiment répondre à ma question. Un HttpServletRequest enregistre tous les paramètres dans une table de hachage, et une HashMap a PAS d'ORDRE. Donc, je l'ai enregistré à l'ordre des paramètres dans un ensemble ordonné liste de tableaux et enregistré dans un HttpSession, pour que je puisse récupérer l'ordre des paramètres par l'interrogation de la liste de tableaux (qui a été enregistré dans la session) et de réaliser ce que je voulais!
Il a probablement utilisé
request.getQueryString()
et manuellement séparés et stockés les paramètres de la session. Si c'est le cas, msalvadores réponse n'est pas la même que sa "solution", car il n'avait pas besoin de spécifier de paramètre personnalisé noms.OriginalL'auteur jcdmb
request.getParameterNames ()
utiliseHashMap
en interne pour stocker le nom de la valeur des paires de champs de formulaire. Il n'y a pas d'ordre maintenu dans cette. si vous avez besoin de ce dans l'ordre puis , une sorte de convention de nommage pour les paramètres de formulaire pour le contrôle de l'ordre de récupération.OriginalL'auteur Dead Programmer
Mise à jour:
U l'utilisateur peut ensemble trié. notez que u doit avoir tous les paramètre avec des noms différents. (dans ce cas, il est plus probable)
Écrire de la pref.ix, comme votre nom de paramètre pour ex.
et ainsi de suite...
puis dans du code java, vous pouvez écrire
OriginalL'auteur MKDoshi
HTML ou Jsp Page
et ainsi de suite...
puis dans du code java
OriginalL'auteur Nilesh