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 :

Comment persister les objets list (bean) dans un ActionForm


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Points : 50
    Points
    50
    Par défaut Comment persister les objets list (bean) dans un ActionForm
    Bonjour,

    j'utilise ActionDispatch pour lié chaque evenment utilisateur a une methode dans mon action. pour cette action j'ai un form (actionForm) qui contient un object listA (ArrayList<TypeObject>()), dans un premier temps j'arrive a afficher la listA
    dans la page jsp, parcontre lors d'un autre submit du meme form pour executer un autre traitement et retourné sur la meme pas JSP, la listA est vide, est ce qu'il ya un moyen de persister des objectList dans l'actionForm son les cahrger a chaque fois dans l'action.

    Merci pour vous réponses

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    La méthode la plus simple, si ca ne pose pas de problème dans ton cas, est de définir le scope de ton form dans ton action à "session". Comme ca tu récupères ton form tel qu'à l'affichage de ta page + tes modifs bien sur.
    J'imagine que tu l'as configuré en request, non ?

    P.S. : tu travailles tard toi

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    Merci popur votre réponse,
    j'utiliserais deja le scope session pour mon action et sans resultat,
    est ce que ça ne marche pas pour les action héritantes du DispatchAction?

    ma config est celle la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <action path="/actionName"
    			name="myForm"
    			parameter="dispatch"
    			type="package.ClasseAction"
    			validate="false"	
    			scope="session">
    			<forward name="display" path="/dir/page.jsp"></forward>
    		</action>

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    voila, un ami dans le domaine ma suggerer de stocker mon bean dans le request Http a l'aide de request.serAttribut("AliasLis", list); et le faire a chaque fois dans l'action, non pas dans le form ou la session . je trouve que la solution la plus optimale

    Merci pour votre aide

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    salut
    moi je n'arrive pas à voir où ce situe le probleme parce que je me rappel avoir utilser une liste à afficher dans un combobox en utilsant un dispatchAction.
    ce que j'ai fait c'est de définir dans mon dispatchAction une methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    initFormulaire(....;.....;.....;..) 
    {.
    // ici acceder à une bdd et instancier la liste.
     
    ....}
    //ici les autre methode du dispatchAction
    ce qu'il faut faire c'est appeler ton Dispatchaction la premiere fois en forçant le paramettre dans l'url de laction, exemple: goToAction?nomTonParam=initFormulaire

    j'espere que ça t'aidera

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Vers quoi est submitté ton form (autrement dit, ya quoi comme attribut action dans ta balise <html:form>) ?

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Points : 50
    Points
    50
    Par défaut
    dans la balise <html:form action="actionName" > !!

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    J'avoue que je sèche un peu, tu devrais debugger tout ca à fond (je veux dire, avec le debugger de ton IDE), ligne par ligne, pour détecter à quel moment est vidée ou supprimée ta liste.

  9. #9
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour,
    je me permets de faire une petite remarque.
    Lors du chargement de données il est important de distinguer deux types de données. Les données qui doivent etre charge au premier acces de la page pour initialiser le formulairte et les donnees qui doivent etre tout le temps charge (ex : combo) apres un post du formulaire. C'est la remarque qu'a fait khaledirb7.

    Pour eviter que chaque developpeur utilise chacun leur nom, je pense qu'il faut se donner une norme de nom. Pour forcer tout le monde a utiliser les noms je pense qu'il est important de creer des classes Action abstract qui forcera l'utilisateur a implementer les methodes.

    En ce qui me concerne, j'utilise le formalise suivant :

    * dispatch=display => charge les donnees qui doivent etre charge tout le temps (combo....) pusi route sur la bonne JSP.
    * dispatch=load => charge les donnees qui sont utilise pour initialiser le formulaire et appelle dispatch.

    J'ai tente d'expliquer ceci sur mon projet Gestcv.

    Angelo

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Très bonne remarque azerr, c'est vrai qu'on ne parle pas souvent de la distinction entre les données propres du form, et les données plus génériques comme les listes.
    Ton formalisme a l'air pas mal, je m'en inspirerai surement un de ces quatre.

Discussions similaires

  1. [AC-2007] Comment rechercher les objets non utilisés dans une application
    Par Triton972 dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/12/2011, 05h45
  2. Réponses: 2
    Dernier message: 23/03/2009, 13h25
  3. Réponses: 4
    Dernier message: 02/09/2008, 20h46
  4. Réponses: 3
    Dernier message: 11/07/2007, 10h10
  5. Réponses: 3
    Dernier message: 22/05/2006, 09h58

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