Formulaire dynamique
Résolu/Fermé
A voir également:
- Formulaire dynamique
- Tableau croisé dynamique - Guide
- Liste déroulante dynamique excel - Guide
- Formulaire de réclamation facebook - Guide
- Récupérer compte hotmail sans formulaire ✓ - Forum Hotmail / Outlook.com
- Formulaire instagram compte suspendu - Guide
4 réponses
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
17 août 2009 à 17:43
17 août 2009 à 17:43
Wouaouh du jsp ça fait longtemps! =)
en gros il te faudrait une méthode dans ta classe qui serait du type
et tu l'appelle directement dans ton code comme ça
En espérant ne pas me tromper, ça fait un petit moment que j'ai pas fait de jsp et j'ai pas d'exemple sous les yeux.
en gros il te faudrait une méthode dans ta classe qui serait du type
public void afficherChamp(String nom) { if (request.getParameter("type").equals("edition"){ out.println(nom); }else{ out.println("<input type='text' name='Nom' value='"+ nom +"' />"); } }
et tu l'appelle directement dans ton code comme ça
<% afficherChamp(monBean.getNom()); %>
En espérant ne pas me tromper, ça fait un petit moment que j'ai pas fait de jsp et j'ai pas d'exemple sous les yeux.
Bonjour,
Tout d'abord, merci beaucoup pour ta réponse.
Quand tu dis "il te faudrait une méthode dans ta classe", tu parles de la classe java du bean ?
Si j'essaie de mettre cette méthode dans le code java de la JSP (entre <% et %>), le compilateur me dit "Illegal start expression".
Naloueeee.
Tout d'abord, merci beaucoup pour ta réponse.
Quand tu dis "il te faudrait une méthode dans ta classe", tu parles de la classe java du bean ?
Si j'essaie de mettre cette méthode dans le code java de la JSP (entre <% et %>), le compilateur me dit "Illegal start expression".
Naloueeee.
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
18 août 2009 à 10:11
18 août 2009 à 10:11
Je ne connais pas ton architecture mais ça peut-être une idée oui.
Si c'est dans le bean, autant profiter de l'accessibilité des variables, en surchargeant les getteurs:
Dans cette nouvelle méthode, on surcharge la méthode getNom() du bean en getNom(String type), ce qui permet de l'appeler de la manière suivante à partir de la JSP:
En lui passant le paramètre type, la méthode saura comment l'afficher.
En faisant ça, on ajoute autant de méthode que de variables à afficher du bean, mais au moins c'est propre et très lisible pour la JSP.
Si c'est dans le bean, autant profiter de l'accessibilité des variables, en surchargeant les getteurs:
public void getNom(String type) { if (type.equals("edition"){ out.println(nom); }else{ out.println("<input type='text' name='Nom' value='"+ nom +"' />"); } }
Dans cette nouvelle méthode, on surcharge la méthode getNom() du bean en getNom(String type), ce qui permet de l'appeler de la manière suivante à partir de la JSP:
<% monBean.getNom(request.getParameter("type")); %>
En lui passant le paramètre type, la méthode saura comment l'afficher.
En faisant ça, on ajoute autant de méthode que de variables à afficher du bean, mais au moins c'est propre et très lisible pour la JSP.
Merci beaucoup pour ta reponse.
J'ai fait comme tu as dit, ça marche. La seule différence est que j'ai mis le "out.println" dans la jsp.
Ce qui donne donc (pour ceux que ça peut intéresser):
Dans le javabean, j'ai ajouté la méthode:
public String getNom(String type) {
String resultAAfficher = "";
if (type.equals("edition"){
//on veut simplement faire afficher le nom dans la JSP qui appelle
resultAAfficher = nom;
}else{
//on veux faire afficher une zone de saisie dans la JSP qui appelle
resultAAfficher = "<input type=\"text\" name=\"nomChamp\" value=\""+ nom +"\" />";
}
}
Dans la JSP, je fais appel à cette méthode dans une table:
<TABLE>
<TR>
<TD>
Nom:
</TD>
<TD>
<%out.println(monBean.getNom(type));%>
</TD>
</TR>
</TABLE>
J'ai fait comme tu as dit, ça marche. La seule différence est que j'ai mis le "out.println" dans la jsp.
Ce qui donne donc (pour ceux que ça peut intéresser):
Dans le javabean, j'ai ajouté la méthode:
public String getNom(String type) {
String resultAAfficher = "";
if (type.equals("edition"){
//on veut simplement faire afficher le nom dans la JSP qui appelle
resultAAfficher = nom;
}else{
//on veux faire afficher une zone de saisie dans la JSP qui appelle
resultAAfficher = "<input type=\"text\" name=\"nomChamp\" value=\""+ nom +"\" />";
}
}
Dans la JSP, je fais appel à cette méthode dans une table:
<TABLE>
<TR>
<TD>
Nom:
</TD>
<TD>
<%out.println(monBean.getNom(type));%>
</TD>
</TR>
</TABLE>