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

Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 28 mars 2007 à 20:01 - Dernière réponse :
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 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 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 28 mars 2007 à 21:29
3
Merci
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);

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 29 mars 2007 à 09:47
3
Merci
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">

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 29 mars 2007 à 10:14
3
Merci
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);

Merci Kakou92 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de Kakou92
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 28 mars 2007 à 20:50
0
Merci
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
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 28 mars 2007 à 21:09
0
Merci
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
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 29 mars 2007 à 09:27
0
Merci
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
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 29 mars 2007 à 09:29
0
Merci
PS: j'utilise une méthode doPost et non doGet est-ce que ça change quelque chose ?

@tt
Commenter la réponse de Kakou92
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Dernière intervention
2 mai 2007
- 29 mars 2007 à 10:15
0
Merci
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.