cs_egwene
Messages postés54Date d'inscriptionlundi 31 juillet 2006StatutMembreDernière intervention 3 avril 2008
-
23 août 2007 à 15:33
cs_egwene
Messages postés54Date d'inscriptionlundi 31 juillet 2006StatutMembreDernière intervention 3 avril 2008
-
23 août 2007 à 16:36
Salut,
me voilà bloquée sur un problème sans doute bête mais je tourne en rond. J'espère que quelqu'un pourra m'aider.
J'ai une comboBox dans une JSP qui doit afficher une liste de valeur et lorsque je sauvegarde mon formulaire, je cherche évidemment à récupérer cette donnée (son id).
J'arrive à afficher ma liste de données dans la combo et la sauvegarde se passe bien à priori (pas d'exception) sauf que je récupère tout le temps l'id = 0 à cette combo !!! Je pense qu'il s'agit d'un problème de nommage de variable mais après avoir épuisé pas mal de combinaisons possibles, je ne sais plus quoi faire.
Voici les portions de code qui concerne ce problème : (désolé y'a bcp de fichiers !!! )
Le JSP :
<%...
List res = manager.loadList(null,new SearchCriterion(),false);
request.setAttribute("agences",res);
...%>
...
<html:form action= "createClient.do" focus="code">
Voilà, j'espère que ce n'est pas trop long, j'ai essayer de ne mettre que l'essentiel. Si vous avez des questions ou besoin de plus de code, faites moi signes. Merci d'avance, j'espère que quelqu'un trouvera.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 août 2007 à 15:50
Dans ton Action struts, fait un System.out.println(formulaire.getIdAgence()); voir ce qu'il t'affiche, mais à première vue, ton code me paraît correct !
Le seul truc que je comprend pas c'est pourquoi tu déclare les champs de ton formulaire en 2 fois : dans le struts-config et dans ton FormBean : déclare les uniquements dans le struts-config, ca prêtera moins à confusion :
<form-bean name= "ClientForm"
type=" org.apache.struts.actions.DynaActionForm ">
<form-property name ="nom" type="java.lang.String" />
<form-property name="ville" type="java.lang.String" />
<form-property name="codePostal" type="java.lang.Integer" />
<form-property name="adresse1" type="java.lang.String" />
<form-property name="adresse2" type="java.lang.String" />
<form-property name="adresse3" type="java.lang.String" />
<form-property name="adresse4" type="java.lang.String" />
<form-property name="objectifCA" type="java.lang.Double" />
<form-property name="idAgence" type="java.lang.Integer" />
<form-property name="idCommercial" type="java.lang.Integer" />
</form-bean>
cs_egwene
Messages postés54Date d'inscriptionlundi 31 juillet 2006StatutMembreDernière intervention 3 avril 2008 23 août 2007 à 16:15
Merci de m'aider.
C'était ça effectivement.
Ta remarque est très judicieuse car pour ne pas compliqué le problème, j'ai pas expliqué ce point.
En effet j'utilise des DynaActionForm donc à priori j'ai rien dans mon ClientForm sauf que lorsque je faisais cela, j'arrivais même pas à sauvegarder. J'avais une exception du genre : "No getter method for the property idAgence". Bref, je me suis dit qu'il retouvait pas ces champs pour je ne sais quelle raison et donc j'ai essayé de mettre ces champs et leurs accesseurs dans le form ClientForm et là ça marchait mieux puisque que sauvegarder sans erreur excepté cet id à 0.
En fait je crois que j'avais une erreur de nommage au tout début, d'où l'exception No Getter method, ... et après, lorsque j'ai mis les accesseurs dans le formulaire ça pouvait pas marcher. Entre temps j'ai due corriger l'erreur de nommage mais je l'ai pas vu !!!
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 août 2007 à 16:26
Oui en effet, une exception de type noGetter vient très très souvent d'un problème de frappe ! C'est l'inconvénient de struts quand on fait tout à la main : les erreurs arrivent très vite :'(
Il existe des outils pour automatiser cà apparement (pour eclipse, mais j'ai pas testé).