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 :

Propriétés indexées : mélange des valeurs


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 160
    Par défaut Propriétés indexées : mélange des valeurs
    Bonjour,

    J'en appelle aux connaissances des développeurs de ce forum car je suis face à un problème qui dépasse mon entendement.

    Soit un BO Demande (simplifié) :

    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 Demande implements Serializable {
      private List<HeureDeclaree> heuresDeclarees;
      private List<QuantiteDetail> quantiteDetail;
     
      public List<HeureDeclaree> getHeuresDeclarees() {
    	return heuresDeclarees;
      }
      public void setHeuresDeclarees(List<HeureDeclaree> heuresDeclarees) {
    	this.heuresDeclarees = heuresDeclarees;
      }
      public List<QuantiteDetail> getQuantiteDetail() {
            return quantiteDetail;
      }
      public void setQuantiteDetail(List<QuantiteDetail> quantiteDetail) {
            this.quantiteDetail = quantiteDetail;
      }
    }
    Soient les BO QuantiteDetail et HeureDeclaree :

    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
     
    public class QuantiteDetail implements Serializable {
     
    	private Detail detail;
    	private String idDemande;
    	private int quantite;
     
     
    	public Detail getDetail() {
    		return detail;
    	}
    	public void setDetail(Detail detail) {
    		this.detail = detail;
    	}
    	public String getIdDemande() {
    		return idDemande;
    	}
    	public void setIdDemande(String idDemande) {
    		this.idDemande = idDemande;
    	}
    	public int getQuantite() {
    		return quantite;
    	}
    	public void setQuantite(int quantite) {
    		this.quantite = quantite;
    	}
    }
    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
     
    public class HeureDeclaree implements Serializable {
     
    	private int id;
    	private String idDemande;
    	private Date datePrestation;
    	private Date heureDebutTravail;
    	private Date heureFinTravail;
    	private int nbrTechnicien;
     
            public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
            public Date getDatePrestation() {
    		return datePrestation;
    	}
     
     
    	public void setDatePrestation(Date datePrestation) {
    		this.datePrestation = datePrestation;
    	}
    	public String getIdDemande() {
    		return idDemande;
    	}
    	public void setIdDemande(String idDemande) {
    		this.idDemande = idDemande;
    	}
    	public Date getHeureDebutTravail() {
    		return heureDebutTravail;
    	}
    	public void setHeureDebutTravail(Date dateDebutTravail) {
    		this.heureDebutTravail = dateDebutTravail;
    	}
    	public Date getHeureFinTravail() {
    		return heureFinTravail;
    	}
    	public void setHeureFinTravail(Date dateFinTravail) {
    		this.heureFinTravail = dateFinTravail;
    	}
    	public int getNbrTechnicien() {
    		return nbrTechnicien;
    	}
    	public void setNbrTechnicien(int nbrTechnicien) {
    		this.nbrTechnicien = nbrTechnicien;
    	}
    }
    Je veux dans un formulaire pouvoir remplir entre autres le champ quantite de mon bean QuantiteDetail et le champ nbrTechnicien du bean HeureDeclaree

    Dans ma JSP je fais donc ceci :

    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
     
    <html:form action="declarerDemande?mode=declarerDemande" method="POST">
    <logic:iterate id="heuresDeclarees" name="declarerDemandeForm" property="demande.heuresDeclarees">
    	<tr>
    		<td colspan="2">
    			<html:text styleClass="champTexteUnitaire" indexed="true" name="heuresDeclarees" property="nbrTechnicien"/>
    	       <td>
    					</tr>	
     
    </logic:iterate>
     
    <br/>
    <br/>
     
    <logic:iterate id="quantitesDetails" name="declarerDemandeForm" property="demande.quantiteDetail">
      <tr>
            <td width="70%">
               <html:text styleClass="champTexteUnitaire" indexed="true" name="quantitesDetails" property="quantite"/>
    	</td>
      </tr>
    </logic:iterate>
    <html:submit>Soumettre</html:submit>
    </html:form>

    Alors, soit une situation où ma liste d'heureDeclare à une taille de 3 et ma liste de QuantiteDetail a une longueur de 4.

    Avec ma JSP si je rentre comme valeur pour mes quantites 1,2,3,4 alors quand je soumets le formulaire je récupère bien la valeur 1 pour le premier élément de ma liste, la valeur 2 pour le deuxième, etc... Donc là c'est OK.

    Par contre pour le nombre de technicien, si je rentre comme valeur 1,2,3, alors quand je soumets le formulaire je récupère la valeur 2 pour l'ensemble des éléments de ma liste !!!
    Il me met la deuxième valeur dans tous les autres éléments de ma liste.

    Je ne comprend pas du tout pourquoi ça fait ça alors que pour l'autre liste ça fonctionne.

    Aidez-moi s'il vous plait

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 160
    Par défaut
    Bon en fait j'ai trouvé.
    C'est parce que ma liste d'heureDeclaree était initialisée avec le même objet


    Cela étant si ça marche bien, je ne comprend pas pourquoi je suis obligé de passer par des tableaux plutôt que par mes listes directement

Discussions similaires

  1. Utiliser un index avec des valeurs partielles
    Par camboui dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 02/09/2011, 13h08
  2. [log4j] multi thread: mélange des valeurs affichées
    Par jamesleouf dans le forum Logging
    Réponses: 1
    Dernier message: 11/05/2011, 09h28
  3. UNIQUE index avec des valeurs null
    Par DeeVoiD dans le forum MySQL
    Réponses: 2
    Dernier message: 24/03/2009, 16h18
  4. Cumuler des valeur indexées
    Par Tlemcen dans le forum Access
    Réponses: 25
    Dernier message: 20/02/2007, 23h29
  5. [C#] Conserver des valeurs de propriétés d'une page
    Par elod38 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 10h53

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