Salut à tous
Voilà, je me trouve face à un souci lors d'un portage technique de mon appli.
J'ai une page ave c un formulaire à soumettre. Une erreur est affichée dans la page de saisie lors de la soumission du form si celui ci est mal saisi ... jusque la pas de problème.
Avant, la page saisie.jsp (contenant le formulaire) était affichée.
Lors de la soumission, en cas d'erreur dans la saisie du form on renvoyait une page saisieErreur.jsp, les erreur ayant été settées dans un bean session :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <body> <div id="form"> <html:form action="/monAction"> <html:text property="property1"/> <html:text property="property2"/> <html:text property="property3"/> </html:form> </div> </body>
maintenant ma jsp de saisie est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <jsp:useBean id="erreurBean" class="" scope="request"/> ... ... <body> <div id="Bandeau_Erreur"> <h1><%=erreurBean.getTextErreur()%></h1> </div> <div id="Bandeau_Erreur"> <p><%@include file="saisie.jsp"%></p> </div> </body>
Avant, la page saisie.jsp (contenant le formulaire) était affichée.
l'utilisation du id="Bandeau_Erreur" permettait de définir un style donné pour la page d'eereur. mais dorénavant, la page squi est retournée en cas d'erreur est la page saisie.jsp, le tag html:erreur permettant d'afficher les erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <body> <html:error property="propety erreur a afficher bundle="monBundleErreur""/> <div id="form"> <html:form action="/monAction"> <html:text property="property1"/> <html:text property="property2"/> <html:text property="property3"/> </html:form> </div> </body>
Le seul hic c'est que j'aurais besoin de faire un truc comme cela :
(avec les tags jsp bien sur, mais la n'est pas le problème).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <body> <% si le tag html:erreur est non vide %> <div id="Bandeau_Erreur"> <% fin si%> <html:error property="propety erreur a afficher bundle="monBundleErreur""/> <div id="form"> <html:form action="/monAction"> <html:text property="property1"/> <html:text property="property2"/> <html:text property="property3"/> </html:form> </div> <% si le tag html:erreur est non vide %> </div> <% fin si%> </body>
J'ai donc essayé de voir si les erreurs n'étaient pas par hasard dans un attribut de session ou de requête mais visible ment ce n'est pas le cas. Pour voir ca j'ai fais la chose suivante :
dans ma jsp j'ai ajouté en début de page :
Mais je n'ai rien vu comme nom d'attribut qui ne soit pas des attributs que j'ai setté moi meme....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <% java.util.Enumeration e1 = session.getAttributeNames(); java.util.Enumeration e2 = request.getParameterNames(); System.out.println("attributs de session :"); while(e1.hasMoreElements()){ System.out.println(e1.nextElement()); } System.out.println("attributs de request :"); while(e2.hasMoreElements()){ System.out.println(e2.nextElement()); } %>
Une idée plus précise de comment ca fonctionne exactement : comment juste avec le tag html:errors on peut récupérer les erreurs que l'on a sauvé dans la requête par un
...?
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(!errors.isEmty()){saveErrors(request, errors);}
Elles sont bien transmises par quelque chose les erreurs.... elles vont pas être récupérées par l'opération du saint esprit...?
Partager