[servlet] envoyer des données(variables) a un formulaire [Résolu]

Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention - 28 mars 2007 à 20:01 - Dernière réponse : Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention
- 29 mars 2007 à 10:15
Bonjour,

étant nouveau ici je me décide a poster ce forum m'a bien aidé auparant.

Alors je m'explique j'ai une jsp avec un formulaire. Lorsque je clique sur le bouton, ma servlet est appelée et récupere les données du formulaire.

Ensuite elle fait son traitement et donne des valeurs à des variables selon mes parametres.

Une fois le traitement effectué, une nouvelle page jsp s'affiche avec un nouveau formulaire, ce formulaire doit contenir les valeurs de mes variables et je n'arrive pas à les récupérer je ne vois pas comment faire.

Voila j'espere que c'est clair.

Merci d'avance

@tt
[
]
Afficher la suite 

8 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 28 mars 2007 à 21:29
+3
Utile
Ok, donc c'est l'état juste avant qu'il te manque ;)

Dans ta fonction doGet, il te faut définir les attributs de l'objet request afin que ta requête HTTP contienne la valeurs des variables que tu veux récupèrer par ta page jsp :

request.setAttribute("nom", nom);
request.setAttribute("age", age);

getServletContext().getRequestDispatcher("/taPage.jsp").forward(request, response);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 29 mars 2007 à 09:47
+3
Utile
Non non, ce que je t'ai mis n'est absolument pas du php, c'est bien du java à mettre dans ton jsp.

En php ca donnerais plutôt :
" type="text">

En java ca donne (tu donne la valeur du paramètre "identifiant" à ton champ texte :
" type="text">
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention - 29 mars 2007 à 10:14
+3
Utile
Super j'ai reussi a faire marcher nikel !


donc pour récapituler dans mon code j'ai :


dans mon .jsp:


"/>
"/>
"/>


et dans mon .java:


    //Assigne les variables aux champs du formulaire
    //req.setAttribute("name du input", variable assignée);
    req.setAttribute("identifiant", login);
    req.setAttribute("motdepasse", pass);
    req.setAttribute("codeconfidentiel", codeconf);
    
    //Redirige la page vers CreationOk
    getServletContext().getRequestDispatcher("/CreationOk.jsp").forward(req, res);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Kakou92
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 28 mars 2007 à 20:50
0
Utile
Il te faut récupèrer les valeurs de ses paramètres dans ta page et les afficher, par exemple, pour récupèrer les données :
<%
  String nom=(String)request.getAttribute("nom");
  String age=(String)request.getAttribute("age"); 
%>

Et ensuite pour les afficher :
" type="text">
Commenter la réponse de cs_DARKSIDIOUS
Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention - 28 mars 2007 à 21:09
0
Utile
Tout d'abord merci pour ta reponse rapide.

Mais j'ai essayé de rajouter :<%
String nom=(String)request.getAttribute("nom");
String age=(String)request.getAttribute("age");
%> dans mon code jsp et .java et ensuite pour afficher j'ai mis " type="text"> avec mes valeurs mais ça ne marche pas.

En fait je ne pense pas m'etre bien expliqué.

Quand je clique sur mon bouton valider par exemple, les données du 1er formulaire sont envoyées et recupérées grace à des lignes telles que:

String nom = req.getParameter("nom");

et en cours de traitement, il m'assigne des valeurs à des variables. Ensuite il m'appelle une autre feuille avec un autre formulaire qui celui-ci doit contenir les valeurs des variables. Mais pour cela je ne vois pas comment les passer de mon .java a mon .jsp ???

Merci d'avance

@tt
Commenter la réponse de Kakou92
Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention - 29 mars 2007 à 09:27
0
Utile
ok donc en fait ça donne ça dans mon code :

//confirmation ajout
out.println("<script language='JavaScript1.2' type='text/javascript'>alert('Adhérent ajouté dans la base de données!'); </script>");
//envoyer les valeurs
req.setAttribute("identifiant", login);
req.setAttribute("motdepasse", pass);
req.setAttribute("codeconfidentiel", codeconf);

//redirection vers la page creationOk. getServletContext().getRequestDispatcher("/CreationOk.jsp").forward(req, res);

Mon probleme est que il ne me fait pas l'alerte javascript et me redirige directement vers creationOk mais les champs du formulaire sont tjrs vide. Est-ce que je dois mettre quelque chose dans mon .jsp car ce que tu m'as mis dans ta premiere réponse c'est du php non ? Moi je dois le faire en java. Mais si ce n'est possible que par du php alors j'utiliserais le php ^^ !

Merci encore

@tt
Commenter la réponse de Kakou92
Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention - 29 mars 2007 à 09:29
0
Utile
PS: j'utilise une méthode doPost et non doGet est-ce que ça change quelque chose ?

@tt
Commenter la réponse de Kakou92
Kakou92 24 Messages postés mardi 23 janvier 2007Date d'inscription 2 mai 2007 Dernière intervention - 29 mars 2007 à 10:15
0
Utile
Merci encore !!!

@tt
Commenter la réponse de Kakou92

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.