2010-02-18 11 views
3

Est-il possible d'avoir la même servlet effectuer la validation? Il semble que l'on doive utiliser une sorte de récursion ici, mais quand je tape quelque chose dans la boîte e-mail et que je clique sur Envoyer, le paramètre e-mail est toujours vide. Après avoir cliqué sur soumettre, les changements d'URL à: http://localhost/servlet/EmailServlet?Email=testComment obtenir un paramètre de formulaire dans le servlet? request.getAttribute ne fonctionne pas

La page Email: null et la zone de texte, mais je m'y attendais pas à passer par la fonction de validation (à savoir ne pas être nulle). Est-il possible d'atteindre ce type de comportement récursif? Mise à jour: comme l'a souligné la réponse acceptée, il y avait une erreur dans le code. Changer le getAttribute à getParameter résout le "problème" :).

Courrier électronique de chaîne = (Chaîne) demande. getAttribute getParameter ("Email");

Répondre

3

Pour obtenir un paramètre de formulaire dans une servlet que vous utilisez:

request.getParameter("Email"); 

Et oui, vous pouvez utiliser la même servlet, mais il serait plus facile d'utiliser deux différents servlets pour le faire.

+0

@Vincent DOH! Je n'arrive pas à croire que je l'ai fait ... merci d'avoir signalé mon erreur, tout fonctionne bien maintenant. – Kiril

1

Vous pouvez avoir la méthode du formulaire définie sur POST, puis implémenter une méthode doPost() dans votre servlet. le doGet() sera appelé pour afficher le formulaire et le doPost() sera appelé pour traiter la soumission du formulaire. En variante, vous pouvez tester la méthode doGet() pour la présence de tous les paramètres.

s'il n'y en a pas, il suffit d'afficher le formulaire. s'il y a transformons la soumission ...

+0

Est-il possible de le faire sans changer la méthode pour POST? – Kiril