JSP formulaire de soumission d'URL avec des paramètres
Je suis en train de travailler avec la plaine JSP (JSF n'est PAS une option) sur une application web. Dans un fichier JSP, j'ai un tableau, et dans chaque ligne, je l'affichage de chaque étudiant. Aussi, dans chaque ligne je veux avoir un bouton "éditer", qui vous redirigera vers une page où l'on peut modifier cet élève et de le supprimer.
Jusqu'à présent, je pense que la meilleure pensez à faire est de mettre un submittable forme avec seulement un bouton à l'intérieur de chaque ligne.
<table border="1">
<tr>
<th>Name</th>
<th>LastName</th>
<th>Send Message</th>
<th>Erase</th>
</tr>
<c:forEach items="${students}" var="bean">
<tr>
<td>${bean.name }</td>
<td>${bean.lastName }</td>
<td><input type="button" name="edit" value="Do!"
onclick="foo();" /></td>
<td><form action="<%="EditStudent?studentid=6" %>"><input type="submit" value="Edit" /></form></td>
</tr>
</c:forEach>
</table>
Le formulaire de soumission de l'URL est juste pour le test, d'où l'codé en dur "6" paramètre sous la forme d'une carte d'étudiant. Cependant, lorsque j'appuie sur le bouton, je l'ai redirigé vers une page avec l'URL "http://localhost:8080/JSPProj/EditStudent?"
, où je peux voir clairement que tout texte après le point d'interrogation est ignoré! Si je supprime le point d'interrogation, l'URL de redirection fonctionne (mais il n'y a pas de moyen de passer le paramètre que je veux pour la prochaine servlet).
Quelqu'un peut-il me donner un aperçu des raisons pour lesquelles cela se produit?
PS. J'ai aussi essayé avec EL, et la même chose arrive.
- Pourquoi utilisez-vous le scriptlet/EL pour un paramètre fixe?
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous devez spécifier votre method=get ou method=post. Mais c'est juste tatillonne de ma part. Le problème, c'est ceci: Ne mettez pas votre ? et les paramètres dans l'url de l'action. Mettez vos paramètres dans les balises input.
Edit: en Fait OBTENIR vs POST n'est pas tatillon. C'était un peu flipant de me le dire. C'questions. Par défaut, le navigateur va le traiter comme OBTENIR qui signifie que les paramètres seront visibles dans la barre d'adresse et peut être facilement modifié par les plus simples des utilisateurs. Avec le POSTER au moins nécessite un peu plus de sophistication à un singe avec. Bien que, de toute évidence, vous ne devriez pas compter sur publiquement le code HTML de votre sécurité.
Input Type='Hidden' ne signifie pas que l'utilisateur ne peut pas voir si ils l'affichage de la source, évidemment, mais pas de zone de texte y est mis.
1) tout d'Abord, vous ne devriez pas utiliser la forme de l'action dans le contexte donné, parce que l'utilisation de la méthode POST n'est pas logique dans ce scénario.
2) Vous ne devez jamais utiliser le contenu statique à l'intérieur de jsp langage d'expression.
ie: action="<%="EditStudent?studentid=6" %>"
3) Dans la situation donnée, vous devez utiliser
<a>
pour chaque étudiant et de les rediriger vers un serveur d'application basé sur leurs papiers d'identité. Et cette approche permettra d'utiliserGET
méthode.C'est de cette façon que vous devez faire
<a href="EditStudent?studentid=${bean.studentID}"> click me </a>
Ce qui concerne,