Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1620 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA/JSP] Formulaire JSP/Servlet - Conservations de données [Resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA/JSP] Formulaire JSP/Servlet - Conservations de données [Resolu]

n°1504708
Profil sup​primé
Posté le 18-01-2007 à 17:50:30  answer
 

Bonjour à tous,
 
Il y a beaucoup de sujets sur les formulaires mais je n’ai pas trouvé la réponse à mon problème (j’espère ne pas être passé au travers).
 
Je dispose d’un formulaire avec des textarea/radio/text… défini dans une page JSP (avec un Bean en scope session). Je passe par une Servlet pour la récupération des données (méthodes doGet/doPost).
 
L’enregistrement, la gestion d’erreurs de saisies, l’affichage des messages d’erreurs, l’affichage de tous les enregistrements sous forme de tableau (dans la même page), la suppression… fonctionnent parfaitement.
 
Petit problème (qui en est un grand pour moi  :(  ) :
Lorsque je valide mon formulaire et qu’il y une ou plusieurs erreurs, les messages d’erreurs s’affichent mais mon formulaire est réinitialisé.
 
Je souhaiterais que mon formulaire conserve les données saisies avant la soumission (afin naturellement d’éviter les ressaisies et n’avoir uniquement que les mauvais champs à corriger).
Comment dois-je m’y prendre ?  :??:  
 
Voilà quelques bout de code que j’utilise :

Code :
  1. ///// Dans la JSP : /////  
  2. <p>
  3. Nom : <input type="text" name="nom" value="<%=votreNom%>" title="Saisissez votre nom">
  4. Pr&eacute;nom : <input type="text" name="prenom" value="<%=votrePrenom%>" title="Saisissez votre pr&eacute;nom">
  5. …
  6. </p>


 

Code :
  1. ///// Dans la Servlet : /////  
  2. // récupération des données du formulaire de la request
  3. request.getParameter("nom" )
  4. request.getParameter("prenom" )
  5. ...
  6. // Utilisation d’une liste ‘profil’ qui contient tous les éléments d’un profil (nom, prenom, sexe,age, …)
  7. profil.setNom(request.getParameter("nom" ))
  8. profil.setPrenom(request.getParameter("prenom" ))
  9. …
  10. // Utilisation d’une liste ‘listeErreurs’ qui contient tous les messages d’erreurs à afficher
  11. listeErreurs.add(" Le nom n'est pas renseigné " );
  12. listeErreurs.add(" Le prénom n'est pas renseigné " );
  13. ...
  14. // Retour à la page JSP après validation du formulaire ou suppression d’un profil du tableau
  15. RequestDispatcher rd = getServletContext().getRequestDispatcher("/jsp/formulaire1.jsp" );
  16. rd.forward(request, response);


 
Je vous remercie tous d'avance pour les nombreux futurs postes  :sarcastic:


Message édité par Profil supprimé le 08-02-2007 à 11:48:35
mood
Publicité
Posté le 18-01-2007 à 17:50:30  profilanswer
 

n°1504721
phnatomass
Je m'empare de ton esprit !!
Posté le 18-01-2007 à 18:16:34  profilanswer
 

Si ton Bean est en scope session, tu dois le réutiliser dans ta jsp

Code :
  1. <input type="text" name="nom" value="<%=profil.getNom()%>" title="Saisissez votre nom">


ou mieux
 

Code :
  1. <input type="text" name="nom" value="${profil.nom}" title="Saisissez votre nom">

n°1504745
Profil sup​primé
Posté le 18-01-2007 à 19:04:21  answer
 

Merci pour l'astuce mais je dois mal m'y prendre, j'avais déjà essayé de faire de cette manière :
 
 

Code :
  1. // Mon Bean
  2. <jsp:useBean id="useBeanListeFormulaire1" class="com.test.javabean.ListeFormulaire1JavaBean" scope="session" />


 

Code :
  1. <p>
  2. <%
  3. if (session.getAttribute("useBeanListeFormulaire1" ) != null) {
  4. ListeFormulaire1JavaBean profil = (ListeFormulaire1JavaBean) session.getAttribute("useBeanListeFormulaire1" );
  5. }
  6. %>
  7. Nom :   <input type="text" name="nom" value="<%=profil.getNom()%>" >
  8. </p>


 
Dois y avoir une erreur dans ce que j'ai écrit au dessus mais je ne vois pas ...  :sweat:

n°1504965
phnatomass
Je m'empare de ton esprit !!
Posté le 19-01-2007 à 11:01:58  profilanswer
 

Il y a beaucoup de bonne pratique à revoir.
Sinon il y a un framework un peu dinosaure nommé struts qui te mache le boulot dans ton cas.
 
Es tu sur dans ta servlet de correctement mettre à jour tes elts, ç à d que chaque instance créée de Profil est reellement rajouter à ton "ListeFormulaireJavaBean"  qui lui même est correctement mis en session.

n°1506700
Profil sup​primé
Posté le 24-01-2007 à 12:06:57  answer
 

Je voulais juste clore ce sujet en y apportant une réponse pour ceux à qui cela pourrait servir  ;)  
J'ai résolu mon problème de la manière suivante :
 

Code :
  1. // Dans la JSP, utilisation d'un Bean 'dernierProfilBean' qui contient les informations saisie dans le formulaire
  2. <p>
  3. // Rq : ProfilBean.java contient les setters et getters
  4.       <%
  5. ProfilBean dernierProfil = (ProfilBean)request.getAttribute("dernierProfilBean" );
  6.       %>
  7. Nom : <input type="text" name="nom" title="Saisissez votre nom" value="<%=dernierProfil !=null ? dernierProfil.getNom() : "" %>" >
  8. Pr&eacute;nom : <input type="text" name="prenom" title="Saisissez votre prénom" value="<%=dernierProfil !=null ? dernierProfil.getPrenom() : "" %>">
  9. </p>


Code :
  1. // Dans la Servlet
  2. ...
  3. // Rq: 'profil' est un objet ProfilBean sur lequel on a effectué les setters auparavant (profil.setNom(...), ...)
  4. request.setAttribute("dernierProfilBean", profil);
  5. ...


 
Voilà, merci pour les réponses qui m'ont mis le doigt sur mon problème. Ciaoo  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA/JSP] Formulaire JSP/Servlet - Conservations de données [Resolu]

 

Sujets relatifs
[résolu] Ajax et erreur de syntaxe[Résolu] Comment envoyer un fichier sur un serveur (client ftp)
[Résolu] [Charset] Gros pb entre UTF8 et ISO ?[Resolu] Probleme redirection .htaccess
2 formulaire ds un même fichier phpManipuler des données XML
Export données Excel vers Mysql[RESOLU] Afficher / Masquer des DIV
Fenetre qui apparait au survol d'un lien (résolu)[PHP] Simplifier la récupération de données d'un formulaire
Plus de sujets relatifs à : [JAVA/JSP] Formulaire JSP/Servlet - Conservations de données [Resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR