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 :

BeanUtils : copier ArrayList<package1.MonBean> dans une ArrayList<package2.MonBean> ?


Sujet :

Struts 1 Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut BeanUtils : copier ArrayList<package1.MonBean> dans une ArrayList<package2.MonBean> ?
    Bonjour!

    Jai, dans mon Action ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ArrayList<package.metier.UserBean> listeUtilisateursBDD; // (valorisée)
    ArrayList<package.coteStruts.UserBean> listeUtilisateursAAfficher; // à valoriser avec les valeurs de listeUtilisateursBDD
    les classes package.metier.UserBean et package.coteStruts.UserBean sont des objets contenant les mêmes attributs...

    je voudrais faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BeanUtilis.copyproperties(listeUtilisateursAAfficher, listeUtilisateursBDD);
    Mais ca ne fonctionne pas : ma liste listeUtilisateursAAfficher reste vide (vérifié en mode debug)...

    Comment faire ???

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    as-tu fais au préalable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<package.coteStruts.UserBean> listeUtilisateursAAfficher = new ArrayList<package.coteStruts.UserBean> listeUtilisateursAAfficher();

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    heu... oui

    Mais bon, je me suis débrouillée autrement. J'ai supposé que la classe BeanUtils ne permettait pas de copier une ArrayList dans une autre...

    Du coup j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Arraylist<package.metier.MonBean> listeUtilisateursBDD = ....;// récup de la valeur (requête SQL)
    Arraylist<package.struts.MonBean> listeUtilisateursAAfficher = new Arraylist<package.struts.MonBean>();
    int taille = listeUtilisateursBDD.size();
    for(int i=0; i<taille; i++){
    package.struts.MonBean utilisateur = new package.struts.MonBean();
    BeanUtils.copyProperties(utilisateur, listeUtilisateursBDD.get(i));
    if(utilisateur.isInitialized()){ // si les champs minimaux nécessaires ont été valorisés
    listeUtilisateursAAfficher.add(utilisateur);
    }
    }
    Et voilà, là ca marche nickel!!!

    Je pense que, tout simplement, il est impossible de copier directement d'ArrayList<package.metier.MonBean> à ArrayList<package.struts.MonBean> avec package.metier.MonBean possédant les mêmes champs que package.struts.MonBean...


  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    effectivement... le BeanUtils ne fonctionne que sur un niveau ;-)
    pour info, dans la javadoc, pour info, il est marqué ceci :
    If you know that no type conversions are required, the copyProperties() method in PropertyUtils will execute faster than this method.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copier un tableau string dans une arraylist
    Par ouadie99 dans le forum C#
    Réponses: 2
    Dernier message: 18/03/2008, 12h50
  2. Copier les valeurs d'un formulaire dans une table
    Par Cyphen dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 10h45
  3. [Collections]enlever des éléments répétés dans une ArrayList
    Par apan dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 23/03/2006, 13h28
  4. [C#] Tri d'objet dans une ArrayList
    Par guillaume16 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/03/2006, 12h05
  5. [Collections]Supprimer des doublons dans une ArrayList
    Par emie31 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/12/2005, 15h15

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