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 :

ActionForm "best practices"


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut ActionForm "best practices"
    Je suis sur un projet et l'analyse donne une application avec une trentaine de classe, les héritages les associations n-n, 1-n et j'en passe, j'aimerai avoir votre avis sur le découpage des ActionForm.
    il y a ceux qui pensent qu'il faudrait une ActionForm par Formulaire HTML, vu le nombre de formulaire qu'il risque d'avoir dans l'application...
    il y a ceux qui pensent qu'il faudrait une seule ActionForm pour toute l'application, si certaines actions placent la Bean dans un scope session, j'imagine l'état de la mémoire avec tous ces objets dans la session des utilisateurs.
    bref si quelqu'un a une petite expérience et qui peut me conseiller ça sera bien sympa.
    Merci.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je te conseil 1 actionForm par formulaire, c'est ce qu'il y a de plus structurant... et c'est dans le principe même de Struts... (Le DynaActionForm est plutôt là pour une action dont les paramètres peuvent varier)
    Ça permet aussi de convertir les champs de la page dans un type donné (et inversement)

    Bref, il ne faut pas hésiter, même si ça fait beaucoup de classes, elles ne sont généralement pas bien compliquées.
    Tu peux par contre "factoriser" les actions en étendant DispatchAction (ou LookupDispatchAction), là, il y a un réel intérêt

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    Merci, pour ta réponse concernant l'utilisation des dynaActionForm je n'ai pas saisi ce que tu voulais dire, si tu peux m'éclairer

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Dans le principe, tu as plusieurs formulaires avec quelques champs.
    Soit tu créés autant de formulaires contenant chacun les champs qu'il gère
    Soit tu créés un dynaActionForm avec la somme de tous les champs

    Cette DynaActionForm peut être partagée par plusieurs contrôleurs (Action ou DispatchAction...), chacun s'occupant de récupérer les champs qui l'intéresse.

    Bref, dans un cas, tu as des "beans" spécialisés avec getter/setter, dans l'autre tu as un conteneur sans getter/setter et il faudra utiliser (dans l'action) quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
            HttpServletRequest request, HttpServletResponse response) throws Exception 
    {
       DynaActionForm daf = (DynaActionForm)form;
     
       int nbr = Integer.parseInt( (String)daf.get("unNombre")  );
     
       ...
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    Merci pour ta réponse, je me penche sur le problème

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/05/2006, 14h22

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