IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

remplir un tableau dans une jsp


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut remplir un tableau dans une jsp
    Bonjour,



    j'ai dans une jsp 2 champs de texte, quand j'ai les rempli et je clique sur un botton "ajouter" leur contenus s'affiche dans un tableau dans la meme jsp
    et les 2 champs de texte devient vides,ensuit je remplis d'autres valeurs dans les champs et je les ajoute dans le tableau et ainsi de suite

    la taille du tableau n'est pas fixe dés le début et ses lignes sont crées au fure et à mesure

    comment je dois faire ça sachant qu'aprés j'ai besoin de ce tableau pour insérer son contenu dans ma base

    je travail avec struts 1.2

    merci de m'aider

  2. #2
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    Peux-tu préciser ce que tu attends de nous?
    Parce que ta question n'est pas claire (du moins je n'ai pas compris ce que tu veux).
    Qu'est-ce que tu as déjà fait?
    A quel niveau est tu bloqué?
    As-tu un bout de code à soumettre?

  3. #3
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    voila ce que j'ai fais :

    j'ai crée une jsp voici une partie de son code:
    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
    18
     
     <html:form action="/recep.do" method="post">
    <tr>
     
       <td> <html:select  property="article"   onchange="activer();">
       <html:options property ="nomArticle"/>
       </html:select> </td>
     
       <td> <html:text property="ND"  ></html:text>  </td>
     
       <td> <html:text property="NF" ></html:text>  </td>
     
       <td><html:select  property="profil"  disabled="true"><html:options property ="nomProfil"></html:options>
       </html:select> </td>
     
       </tr>
     
       <html:button>ajouter</html:submit>
    et voici ce que je veux et je sais pas comment le faire:
    quand je selectione une valeur des combobox "article" et "profil" et je remplis les valeur des champs de text "ND" et "NF",ensuit quand je clique sur le botton "ajouter" ,ces valeurs sont insérées dans un tableau dans la meme jsp et les champs de text "ND" et "NF" devient vides pour que j'introduit de nouvelles valeurs et je les insèrent dans le tableau

    donc je sais pas comment déclarer ce tableau sachant que le nombre de lignes n'est pas fixes dés le début(les lignes sont crées au fure et à mesure)et comment faire pour transmettre les valeurs citées en haut vers lui et comment effacer le contenu des champs de text

    j'espère que maintenant l'idée est claire

    merci de me répondre

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Je te conseille de créer un objet avec pour propriétés chaque champ du formulaire et d'utiliser les tags nested dans la jsp pour permettre la mise à jour de ces propriétés.
    Ensuite, il faut définir cet objet comme propriété de l'ActionForm ainsi qu'un objet de type List, qui contiendra chaque objet créé à chaque submit du formulaire.
    Puis dans l'Action qui s'exécute au submit du formulaire, tu récupères l'objet créé, tu l'insères dans la List et tu réinitialises cet objet pour que les champs redeviennent vides à l'affichage du formulaire.
    Et enfin, dans la jsp, tu affiches le contenu de cette List via un tag nested:iterate.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    SVP c_nvy vous pouvez peux me donner plus de détails comment utiliser "les tags nested" pour faire la mise à jour des propriètés de l'objet("champs du formulaire")

    et comment utiliser "le tag nested:iterate" pour afficher le contenu de la list

    j'ai jamais travailer avec

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Donc concrètement, ça donnerait quelque chose du style :

    objet que j'appelle Recep (en référence au path de ton Action) :
    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
    public class Recep implements Serializable
    {
       private String article = null ;
       private String nd = null ;
       private String nf = null ;
       private String profil = null ;
     
       public Recep()
       {
          this.article=null ;
          this.nd=null ;
          this.nf=null;
          this.profil=null ;
        }
     
       // getters et setters sur article, nd, nf et profil
    }
    ActionForm RecepForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class RecepForm extends ActionForm
    {
       private Recep recep = new Recep() ;
       private List recepList= new ArrayList() ;
     
       // getters et setters sur recep et recepList
    }
    dans l'Action de path /recep :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	RecepForm recepForm = (RecepForm) form ;
     
    	Recep recep= recepForm.getRecep() ;
     
    	List recepList= recepForm.getRecepList() ;
    	recepList.add(recep) ;
     
    	recepForm.setRecep(new Recep()) ;
    et la jsp :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <nested:form action="recep">
     
     <nested:nest property="recep">
     <table>
     <tr>
     
       <td>
          <nested:select  property="article">
             <nested:options property="nomArticle"/>
          </nested:select>
       </td>
     
       <td><nested:text property="ND"/></td>
     
       <td><nested:text property="NF"/></td>
     
       <td>
          <nested:select  property="profil">
             <nested:options property="nomProfil"/>
          </nested:select> 
       </td>
     
     </nested:nest>
     
      </tr>
      </tr>
      </table>
      <nested:submit value="Ajouter"/>
    <nested:form>
     
    <table border="1">
    	<nested:root name="recepForm">
    		<nested:iterate property="recepList">
    			<tr>
    				<td><nested:write property="article"/></td>
    				<td><nested:write property="nd"/></td>
    				<td><nested:write property="nf"/></td>
    				<td><nested:write property="profil"/></td>
    			</tr>
    		</nested:iterate>
    	</nested:root>
    </table>

  7. #7
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    j'ai crée la class de l'ojet "recep" et je l'ai met dans le meme package qui contient les FORM

    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
    18
     
    public class Recep implements Serializable
    {
       private String article = null ;
       private String nd = null ;
       private String nf = null ;
       private String profil = null ;
     
       public Recep()
       {
          this.article=null ;
          this.nd=null ;
          this.nf=null;
          this.profil=null ;
        }
     
       // getters et setters sur article, nd, nf et profil
    }
    mais l'erreur suivante s'affiche au niveau de la méthode"recep" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    return type for the methode is missing

    j'ai essayé de declarer:
    public recep(String article,String nd,String nf,String profil)
    et j'ai ausi essayé

    public recep(ArrayList)
    mais ça marche pas non plus

    quel type je dois déclarer??

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Cette classe n'est pas une ActionForm.
    Elle ne remplace pas RecepForm.

    Et là où j'ai écrit "// getters et setters sur article, nd, nf et profil", cela signifie qu'il faut créer les getters et setters sur les propriétés dans la classe Recep.

  9. #9
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    oui je sais la class "recep" ne remplaçe pas "RecepForm"

    moi j'ai gardé "RecepForm" et j'ai crée la class "recep" et comme je savais pas ou la mettre alors je l'ai met dans le meme "package" que les FORM

    1-sinon ou je dois la mettre??

    mais le problem c'est dans la methode "public Recep()"
    l'erreur suivante s'affiche à son niveau :

    "return type for the methode is missing"

    2- alors quel type je dois déclarer??

  10. #10
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Ben je ne comprends pas pourquoi tu as ce message.
    Il n'y a pas de type à déclarer puisque c'est un constructeur.

  11. #11
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Ah si, je viens de comprendre.

    Tu dis avoir créé la classe recep avec un "r" minuscule.

    Il faut créer la classe Recep avec un "R" majuscule.
    Et dans la classe elle-même, le nom de la classe et le constructeur doit aussi être écrit avec un "R" majuscule.

  12. #12
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    c'est bon l'erreur a disparu

    maintenant j'ai un autre prob :

    voici la class "recep" que j'ai crée :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    public class Recep implements Serializable
    	{
    	   private String article = null ;
    	   private String nd = null ;
    	   private String nf = null ;
    	   private String profil = null ;
     
    	   public Recep()
    	   {
    	      this.article=null ;
    	      this.nd=null ;
    	      this.nf=null;
    	      this.profil=null ;
    	    }
     
    	   // getters et setters sur 
     
    	   public String getArticle() {
    			return article;
    			}
     
     
    		public void setArticle(String article) {
    		            this.article = article;
    			}
     
     
    		public String getProfil() {
    			return profil;
    			}
     
     
    		public void setProfil(String profil) {
    		            this.profil = profil;
    			}
     
     
    		 public String getNd() {
    				return nd;
    				}
     
     
    			public void setNd(String nd) {
    			            this.nd = nd;
    				}
     
     
    			 public String getNf() {
    					return nf;
    					}
     
     
    				public void setNf(String nf) {
    				            this.nf = nf;
    					}
     
    }
    le RecepForm est le suivant:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    public class RecepForm extends ActionForm {
     
    public String getArticle() {
    		return article;
    	}
     
     
     
    	public void setArticle(String article) {
    		this.article = article;
    	}
     
    	public String getND() {
    		return ND;
    	}
     
     
    	public void setND(String ND) {
    		this.ND = ND;
    	}
     
     
    	public String getNF() {
    		return NF;
    	}
     
     
    	public void setNF(String NF) {
    		this.NF = NF;
    	}
     
    	public String getProfil() {
    		return profil;
    	}
     
     
    	public void setProfil(String profil) {
    		this.profil = profil;
    	}
     
     
     
    	public List getNomArticle() {
    		return nomArticle;
    	}	
     
    	public void setNomArticle(List nomArticle) {
    		this.nomArticle = nomArticle;
    	}	
     
    	public List getNomProfil() {
    		return nomProfil;
    	}	
     
    	public void setNomProfil(List nomProfil) {
    		this.nomProfil = nomProfil;
    	}	
     
     
     
     
    	public List getRecepList() {
    		return recepList;
    	}	
     
    	public void setRecepList(List recepList) {
    		this.recepList = recepList;
    	}
     
    	public Recep getRecep() {
    		return recep;
    	}
     
     
    	public void setRecep(Recep recep) {
    		this.recep = recep;
    	}
    dond j'ai fais les getter et setter de(article,nd,nf,profil)dans la class"recep" et dans "RecepForm"



    et le code de ma jsp est:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    <tr>
        <nested:nest property="recep">
       <td> 
     
           <nested:select  property="article"   onchange="document.recepForm.submit();">
     
             <nested:options property ="nomArticle"/>
               </nested:select>
     
       </td>
     
       <td> <nested:text property="ND" maxlength="15" ></nested:text>  </td>
     
       <td> <nested:text property="NF" maxlength="15"></nested:text>  </td>
     
     
       <td>
          <logic:equal name="recepForm" property="type" value="SIMPOST">
     
          <nested:select  property="profil"  disabled="false">
     
          <nested:options property ="nomProfil"></nested:options>
          </nested:select> 
          </logic:equal>
     
          <logic:notEqual name="recepForm" property="type" value="SIMPOST">
     
         <nested:select  property="profil"  disabled="true">
     
     
          <nested:options property ="nomProfil"/>
          </nested:select>
           </logic:notEqual>
     
     
      </td> 
        </nested:nest>
       </tr>
     
     
       </table>
     
        <html:button property="btnset" value="+" onclick="/recep1.do"></html:button>
       <br/>
       <br/>
       <table  border="1" width="100%|20">
       <tr>
       <th>Article</th>
       <th>Numéro de série début</th>
       <th>Numéro de série fin</th>
       <th>Profil</th>
       <th>Quantité</th>
       </tr>
     
     
     
    	<nested:root name="RecepForm">
    		<nested:iterate property="recepList">
    			<tr>
    				<td><nested:write property="article"/></td>
    				<td><nested:write property="nd"/></td>
    				<td><nested:write property="nf"/></td>
    				<td><nested:write property="profil"/></td>
    			</tr>
    		</nested:iterate>
    	</nested:root>
    </table>
    et qaund je demande l'url qui affiche la jsp l'erreur suivante est affichée :


    org.apache.jasper.JasperException: No getter method available for property recep.nomArticle for bean under name recepForm

  13. #13
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Ah oui, j'avais oublié.
    Il faut aussi définir les List nomArticle et nomProfil dans la classe Recep avec getters et setters et modifier l'Action qui remplit ces listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Recep recep = new Recep() ;
    recep.setNomArticle(listArticle) ;
    recep.setNomProfil(listProfil) ;
    recepForm.setRecep(recep) ;

  14. #14
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    c'est bon je l'ai ajouté et l'erreur a disparu

    mais il y'a un autre prob ,le message suivant s'affichequand je demande l'url de l'action qui initialise les combo et affiche la "jsp":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.servlet.jsp.JspException: No getter method for property recep.ND of bean recepForm
    voici le code de la class recep:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    public class Recep implements Serializable
    	{
    	   private String article = null;
    	   private String nd = null ;
    	   private String nf = null ;
    	   private String profil = null ;
     
    	   List nomArticle= new ArrayList() ;
    		List nomProfil= new ArrayList() ;
     
    	   public Recep()
    	   {
    	      this.article=article ;
    	      this.nd=nd ;
    	      this.nf=nf;
    	      this.profil=profil ;
    	    }
     
    	   // getters et setters sur 
     
    	   public String getArticle() {
    			return article;
    			}
     
     
    		public void setArticle(String article) {
    		            this.article = article;
    			}
     
     
    		public String getProfil() {
    			return profil;
    			}
     
     
    		public void setProfil(String profil) {
    		            this.profil = profil;
    			}
     
     
    		 public String getNd() {
    				return nd;
    				}
     
     
    			public void setNd(String nd) {
    			            this.nd = nd;
    				}
     
     
    			 public String getNf() {
    					return nf;
    					}
     
     
    				public void setNf(String nf) {
    				            this.nf = nf;
     
     
     
    }
     
    				public List getNomArticle() {
    					return nomArticle;
    				}	
     
    				public void setNomArticle(List nomArticle) {
    					this.nomArticle = nomArticle;
    				}	
     
    				public List getNomProfil() {
    					return nomProfil;
    				}	
     
    				public void setNomProfil(List nomProfil) {
    					this.nomProfil = nomProfil;
    				}	
    	}
    et voici ce que j'ai déclaré dans le RecepForm:
    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
     
    public List getRecepList() {
    		return recepList;
    	}	
     
    	public void setRecepList(List recepList) {
    		this.recepList = recepList;
    	}
     
    	public Recep getRecep() {
    		return recep;
    	}
     
     
    	public void setRecep(Recep recep) {
    		this.recep = recep;
    	}
    et voici l'action qui affiche la vue:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    while (rs3.next())
    	    	{
     
    	    	four2 = rs3.getString(1).trim();
    	    	System.out.println(four2);
    	    	listArticle.add(four2);
     
    	    	}
    	     	//recepForm.setNomArticle(listArticle);
     
    	     	System.out.println(listArticle);
     
    	     	while (rs2.next())
    	    	{
     
    	    	four3 = rs2.getString(1).trim();
    	    	System.out.println(four3);
     
    	    	listProfil.add(four3);
     
    	    	}
     
    recep.setNomArticle(listArticle);
     recep.setNomProfil(listProfil);
    	  recepForm.setRecep(recep);
     
     
    		return mapping.findForward("preparer1"); 
     
    	}
    et voici une partie du code de la jsp:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <nested:nest property="recep">
       <td> 
     
           <nested:select  property="article"   onchange="document.recepForm.submit();">
     
             <nested:options property ="nomArticle"/>
               </nested:select>
     
       </td>
     
       <td> <nested:text property="ND" maxlength="15" ></nested:text>  </td>
     
       <td> <nested:text property="NF" maxlength="15"></nested:text>  </td>
     
     
       <td>
          <logic:equal name="recepForm" property="type" value="SIMPOST">
     
          <nested:select  property="profil"  disabled="false">
     
          <nested:options property ="nomProfil"></nested:options>
          </nested:select> 
          </logic:equal>
     
          <logic:notEqual name="recepForm" property="type" value="SIMPOST">
     
         <nested:select  property="profil"  disabled="true">
     
     
          <nested:options property ="nomProfil"/>
          </nested:select>
           </logic:notEqual>
     
     
      </td> 
        </nested:nest>
       </tr>
     
     
       </table>
     
        <html:button property="btnset" value="+" onclick="/recep1.do"></html:button>
       <br/>
     
    <nested:root name="RecepForm">
    		<nested:iterate property="recepList">
    			<tr>
    				<td><nested:write property="article"/></td>
    				<td><nested:write property="nd"/></td>
    				<td><nested:write property="nf"/></td>
    				<td><nested:write property="profil"/></td>
    			</tr>
    		</nested:iterate>
    	</nested:root>
    </table>
    merci bcp de m'aider c_nvy je suis vraiment bloqué

  15. #15
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tu vois bien que les propriétés nd et nf sont écrites en minuscules dans la classe Recep.
    Il faut donc les écrire en minuscules dans la jsp aussi.
    Il faudrait réfléchir un peu parce que là franchement, ça tombe sous le sens.

  16. #16
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    désolée c_nvy

    mais j'ai vérifié mille fois mon code avant de poster (la preuve je n'ai pas posté dés que j'ai eu le prob)
    j'ai pris tous mon temps,j'ai vérifié si j'ai déclaré les getter et les setter des property qui se trouve dans la jsp dans la class d'objet "recep" et dans "RecepForm" puisque l'erreur me disais:
    "No getter method for property recep.ND of bean recepForm"

    mais le truc du"minuscule" m'a échapé

    vous savez dés fois des choses betes nous s'échapent
    s'arrive non??

    en tous les cas merci c_nvy pour votre patience.

  17. #17
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    bonjour

    y'a pas d'erreur dans mon code mais quand je remplis les champs de l'objet"recep" et je fais "ajouter" il m'ajout une ligne vide dans le table "receplist"

    voici une partie du code de ma jsp:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <nested:nest property="recep">
       <td> 
     
           <nested:select  property="article"   onchange="document.recepForm.submit();">
     
             <nested:options property ="nomArticle"/>
               </nested:select>
     
       </td>
     
       <td> <nested:text property="ND" maxlength="15" ></nested:text>  </td>
     
       <td> <nested:text property="NF" maxlength="15"></nested:text>  </td>
     
     
       <td>
          <logic:equal name="recepForm" property="type" value="SIMPOST">
     
          <nested:select  property="profil"  disabled="false">
     
          <nested:options property ="nomProfil"></nested:options>
          </nested:select> 
          </logic:equal>
     
          <logic:notEqual name="recepForm" property="type" value="SIMPOST">
     
         <nested:select  property="profil"  disabled="true">
     
     
          <nested:options property ="nomProfil"/>
          </nested:select>
           </logic:notEqual>
     
     
      </td> 
     
     
        </nested:nest>
       </tr>
     
     
       </table>
       <html:link page="/recep1.do">Ajouter une ligne</html:link>
     
       <br/>
       <br/>
     
     
     
    	<table  border="1" width="100%|20">
     
    	<!--
    	<tr>
       <th>Article</th>
       <th>Numéro de série début</th>
       <th>Numéro de série fin</th>
       <th>Profil</th>
       <th>Quantité</th>
       </tr>
    	-->
     
     
     
     
     
     
    	<nested:root name="recepForm">
    		<nested:iterate property="recepList">
    			<tr>
    				<td><nested:write property="article"/></td>
    				<td><nested:write property="ND"/></td>
    				<td><nested:write property="NF"/></td>
    				<td><nested:write property="profil"/></td>
    			</tr>
    		</nested:iterate>
    	</nested:root>
    </table>
    et voici l'action qui récuper l'objet "recep" et l'ajout ds "receplist"
    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
    RecepForm recepForm = (RecepForm) form;
     
    		Recep recep= recepForm.getRecep();
     
     
     
    		recepList= recepForm.getRecepList() ;
    		recepList.add(recep);
    		System.out.println(recep);
    		System.out.println(recepList);
     
     
     
     
    		return mapping.findForward("test");
    	}
    j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.out.println(recep);
    System.out.println(recepList);
    pour voir c'est il récupère "recep" et il l'a met correctement dans"recepList"
    mais il m'affiche le resultat suivant:
    com.yourcompany.struts.form.Recep@1984f7d
    [com.yourcompany.struts.form.Recep@1984f7d]
    et quand je tape d'autes valeurs dans les champs de "recep" il m'affiche:

    com.yourcompany.struts.form.Recep@178efd8
    [com.yourcompany.struts.form.Recep@178efd8]
    et avec d'autres valeurs:
    com.yourcompany.struts.form.Recep@18bbf55
    [com.yourcompany.struts.form.Recep@18bbf55]
    je ne comprend pas ??

  18. #18
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    j'ai meme fais ça dans cette action pour vérifier :

    Recep recep= recepForm.getRecep();
    String art=recep.getArticle();
    System.out.println(art);

    mais il return null pour "art" donc il n'est pas entrain de récuperer les champs de l'objet"recep" quand je les remplis??

  19. #19
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Il faut mettre le scope à session pour le form-bean recepForm dans le mapping des deux Actions dans le struts-config.xml.

  20. #20
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Citation Envoyé par john_wili Voir le message
    j'ai fais :
    System.out.println(recep);
    System.out.println(recepList);

    pour voir c'est il récupère "recep" et il l'a met correctement dans"recepList"
    mais il m'affche le resultat suivant:

    com.yourcompany.struts.form.Recep@1984f7d
    [com.yourcompany.struts.form.Recep@1984f7d]

    et quand je tape d'autes valeurs dans les champs de "recep" il m'affiche:

    com.yourcompany.struts.form.Recep@178efd8
    [com.yourcompany.struts.form.Recep@178efd8]

    et avec d'autres valeurs:
    com.yourcompany.struts.form.Recep@18bbf55
    [com.yourcompany.struts.form.Recep@18bbf55]

    je ne comprend pas ??
    RecepList est une liste d'objets de type Recep.

    Pour en voir le contenu, il faut itérer sur la collection, chaque itération correspondant à un objet de type Recep :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for (int i=0; i<recepList.size(); i++)
    {
       Recep recep = (Recep) recepList.get(i) ;
       System.out.println("article="+recep.getArticle() ;
       System.out.println("nd="+recep.getNd() ;
       System.out.println("nf="+recep.getNf() ;
       System.out.println("profil="+recep.getProfil() ;
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Remplir un hashset dans une jsp et le renvoyer à l'action
    Par safa baccouche dans le forum Struts 1
    Réponses: 4
    Dernier message: 06/05/2011, 14h44
  2. Remplir un tableau dans une boucle
    Par floctc dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2009, 10h23
  3. remplir un tableau dans une jsp depuis des champsde text
    Par john_wili dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 15/07/2008, 01h08
  4. probléme pour parcourir un tableau dans une JSP
    Par nightcyborg dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 02/12/2007, 17h28
  5. afficher une variable tableau dans une JSP
    Par johnnywalker dans le forum Struts 1
    Réponses: 11
    Dernier message: 04/03/2007, 22h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo