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 :

[struts 1.3] Implémentation, conception des actions


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut [struts 1.3] Implémentation, conception des actions
    Bonjour,

    J'ai un petit problème de conception en utilisant struts.
    Je veux mutualiser des méthodes dans mes actions.
    Donc, j'ai créé une classe MyAction qui hérite de la classe Action struts. Donc maintenant, toutes mes actions que je crée je les fais hériter de MyAction.
    Tres bien mais maintenant j'aimerais utiliser dans certains cas les classes struts DispatchAction et dans d'autres cas LookupDispatchAction.
    Donc j'ai mis mes méthodes que j'avais mutualisé dans MyDispatchAction et dans MyLookupDispatchAction. Par conséquent, si j'ai besoin de ce type d'action, je crée des actions qui hérite soit de l'une soit de l'autre....
    je ne trouve pas cela tres génial en terme de maintenance, réutilisation de code..etc...

    Comment faire pour pouvoir utiliser les différentes classes actions de struts en y mutulisant du code sans être obliger de copier/coller ces méthodes dans les différentes classes action fournis par struts????

    toute aide, conseil sont les bienvenus

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Utiliser une class helper?

    A+.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut
    oui c'est la solution que j'ai mis en place mais j'aurais aimé améliorer cette conception...

    Mais comment faire pour s'assurer(sans l'avoir à l'implémenter-y faire appel- dans chaque méthode) que toutes les méthodes des différentes actions(MyAction herite Action, MyDispatchAction herite DispatchAction..etc..) qui intéragissent directement à l'IHM(=JSP) execute la même méthode, une méthode "mère" et par exemple:
    Tu implémentes une action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public MyDispatchActionListing extends MyDispatchAction { 
    public ActionForward loadAllSociety(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) throws MyTechnicalException {
    //Yes, facile this. avec ctrl+espace avec eclipse et pif paf...
    String login=this.utilisateur.getLogin();
     
    return (mapping.findForward("success"));
    }
    }
    tu as un lien dans la JSP qui fait appel à la méthode loadAllSociety (grâce au mapping..... je passe les détails) et ce serait super bien que l'objet utilisateur a été chargé depuis la session par exemple et sans problème sans avoir fait appel DIRECTEMENT à une méthode qui réalise le chargement de l'utilisateur: voilà mon but à réaliser au niveau conception mais je n'y arrive pas ????

    je ne veux pas
    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
    public ActionForward loadAllSociety(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) throws Exception {
    try
    {
    //Wouah, cela fait 5 minutes dans tout ce code de me.... pour trouver le bon helper..la prochaine fois, j'en crée une à ma sauce!!!
    String login=HelperUtilisateur.getLoginUtilisateur();
    }
    catch(MyException my)
    {
    ....
    }
     
    return (mapping.findForward("success"));
    }
    je veux éviter ABSOLUMENT que le developpeur landa cherche dans tout le code le bon helper pour lui rendre le bon service dans son action.


    j'espére avoir été claire.....(l'exemple est trivial ici mais pour essayer d'etre claire !!)
    tous conseils, aide, suggestions sont les bienvenus...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Points : 104
    Points
    104
    Par défaut
    En fait, pour conclure, la seule manière de mutualiser du fonctionnel pour les differentes actions struts(Action, DispatchAction, LookupDispatchAction ..etc...) s'est d'utilisé une classe différente type Helper qui va tout regrouper... je trouve ça un peu dommage......

Discussions similaires

  1. Schématisation des actions struts
    Par Kanithael dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 17/02/2010, 14h27
  2. [servlet][struts] Appelle des actions/servlet
    Par AnKhCHFR dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/03/2005, 12h55
  3. conception : des millions de petites valeurs
    Par crossbow dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 02/06/2004, 14h21
  4. [GNU Pascal] [GRX] Effectuer des actions pendant un temps d'arrêt (GRSleep)
    Par the_guitariste dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/04/2004, 18h21
  5. [FLASH MX2004] Hierarchisation des actions
    Par bolo dans le forum Flash
    Réponses: 9
    Dernier message: 06/11/2003, 16h02

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