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 :

[Structure de donnée] plusieurs tableaux dans form


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
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut [Structure de donnée] plusieurs tableaux dans form
    Bonjour,

    Je dispose d'une JSP dans laquelle je génère 1 à n tableau(s) dont le nombre maximum de colonnes est égale à 10 et le nombre maximale de lignes à 99.
    Toutes les cellules de mon tableau sont composé de <textarea>.

    J'utilise Struts et j'aimerais donc récupérer mes données dans mon actionStruts suite à la validation de mon formulaire.

    Je m'embrouille dans mes recherches et j'aimerais avoir quelques conseils.

    Actuellement je suis à ce point :

    Dans ma jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="<%="listeTabCol"+x+"["+y+"]["+z"]"%> ...."
    Avec x le numéro de colonne
    y le numéro de mon tableau
    z le numéro de la ligne

    Dans struts-config.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form-bean name="monForm" type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="listeTabCol0" type="java.util.ArrayList"/>
    <form-property name="listeTabCol1" type="java.util.ArrayList"/>
    <form-property name="listeTabCol2" type="java.util.ArrayList"/>
    <form-property name="listeTabCol3" type="java.util.ArrayList"/>
     
    etc...
    Je suis donc parti sur un <form-property> pour chaque colonne.

    Voici donc un exemple de page obtenu avec ma JSP:

    Tableau 1
    __________
    | A | B |
    __________
    | C | D |
    __________

    Tableau 2
    __________
    | E | F |
    __________
    | G | H |
    __________


    Et dans mon action le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(formulaire.get("listeTabCol0"));
    Le résultat me donne :

    [E, G] je perds les données de mon premier tableau. Mes données sont en réalité écrasées.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    Je ne vois pas quelle structure de donnée je dois utiliser.

    Est-il possible d'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form-property name="listeTabCol2" type="java.util.ArrayList[]"/>
    Si oui, je n'arrive pas à récupérer mes données

  3. #3
    Expert confirmé

    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
    Par défaut
    Struts n'est pas adapté pour manipuler des tableaux à deux dimensions, surtout en mise à jour.
    Il faut plutôt utiliser des collections d'objets.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    Pourrais-je avoir plus d'informations sur les collections d'objet.
    Comment mettre cela en œuvre avec struts dans un formulaire pour la mise à jour de page?

  5. #5
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 227
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 227
    Par défaut
    Pourquoi ne pas passer des tableaux à une dimension ?

    Dans le tableau, tu sais que tous les X élements, tu changes de lignes

    Exemple :
    t[0] <=== 1ère ligne
    t[1]
    t[2] <=== 2 ligne
    t[3]
    t[4] <=== 3ème ligne

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    En effet je connais le nombre de ligne et de colonne de chaque tableau de ma page.
    Je peux donc réussir à m'en sortir avec ca.

    Pour info, le nombre de ligne et de colonne diffère entre chaque tableau.

    Je teste ca...

Discussions similaires

  1. [WD-2003] Reporter la même donnée plusieur fois dans un document word
    Par David_70 dans le forum VBA Word
    Réponses: 6
    Dernier message: 04/07/2012, 10h47
  2. Exporter plusieurs tableaux dans un onglet (EXCEL)
    Par Sissie dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 14/08/2009, 13h49
  3. Structure de donnée et tableaux
    Par zebulondu54 dans le forum Débuter
    Réponses: 12
    Dernier message: 26/06/2009, 20h29
  4. [FPDF] Afficher plusieurs tableaux dans un fichier PDF
    Par Pakman80 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 30/07/2007, 15h19
  5. [VB.NET] Créer plusieurs tableaux dans word
    Par Dj Thunder dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/06/2006, 00h04

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