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 :

Fonction de Bean et de ActionForm


Sujet :

Struts 1 Java

  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut Fonction de Bean et de ActionForm
    Bonjour à tous,

    Je me renseigne depuis plusieurs jours sur Struts et sa philosophie.

    Voilà donc ma question à ce sujet qui sera certainement évidente pour beaucoup mais les tutoriels sont souvent flous pour cette réponse.

    Quant un formulaire (dans un JSP) est validé, les valeurs sont transmises à l'ActionForm qui contrôle les saisies. Celui-ci ressemble très fortement à un Bean avec d'autres méthodes comme reset, validate...
    Les propriétés doivent être similaires aux balises du formulaire : String nom; pour <input name="nom"...> dans le JSP.

    Ensuite l'Action s'occupe de la partie métier en récupérant le contenu du Bean associé au formulaire.

    Donc et si je ne me trompe pas on obtient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Le JSP (personne.jsp)
    Le Bean associé (PersonneBean.java)
    Le ActionForm (PersonneForm.java)
    Le Action (PersonneAction.java)
    Maintenant, et c'est là que je ne comprend pas :

    Pourquoi définir un Bean ET un ActionForm puisque les deux classes sont quasi identiques : en faite, ActionForm pourrait être un descendant (ou quelque chose comme cela) du Bean ?

    Existe-t-il donc un moyen de simplifier ce modèle de conception et de réduire le nombre de lignes à écrire ?

    Par exemple, un DynaActionForm permet le retrait des get et set dans le ActionForm.

    Merci pour vos suggestions.

  2. #2
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Par défaut
    Hello.
    l'ActionForm represente le bean associé a l'Action.
    vous pourrez utiliser simplement le jsp, l'Action et l'ActionForm. pour creer un bean l'ActionForm sera appelé directement par l'action en utilisant le struts-config.xml.
    De là, le bean represente des lignes de codes de +.

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Citation Envoyé par Lil'Ing
    Hello.
    l'ActionForm represente le bean associé a l'Action.
    vous pourrez utiliser simplement le jsp, l'Action et l'ActionForm. pour creer un bean l'ActionForm sera appelé directement par l'action en utilisant le struts-config.xml.
    De là, le bean represente des lignes de codes de +.
    Alors pourquoi, dans de nombreux exemples il y a l'ActionForm, l'Action ET le Bean associé au formulaire ?
    Il semble que de nombreux informaticiens utilisent ce dernier modèle. Qu'est-ce que cela apporte de plus par rapport au modèle sans Bean ?

    Merci encore.

  4. #4
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Et bien alors, je ne déchaine pas les passions.

    Moi qui voulais des avis de personnes averties.

    A+

  5. #5
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    A mon avis c'est pour mieux séparé differentes couches de l'application, la rendre réutilisable et plus facile à maintenir et aussi dans le cas ou tu changerai de techno (struts à swing ou autre). Voila mon avis, mais je ne suis pas un expert donc je ne m'avance pas trop. Tu peux recherché sur les antipatterns de conception d'application web Servlet/jsp, je pense que tu devrais trouvé des réponses.
    ++

  6. #6
    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
    Il faudrait voir les choses comme ceci :

    l'actionForm représente les données de la page
    l'action représente le controleur de la page
    le bean (généralement), est un objet métier (et on peut en utiliser plusieurs pour charger un actionForm)

    Donc, l'actionForm est une instance liée au request (ou session), il y en a autant que d'instance de pages alors qu'il n'y a (ou qu'il ne pourrait y avoir) qu'un bean métier.

    C'est plus clair comme ça ?

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

  7. #7
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Merci pour ton avis et c'est bien ce que j'avais compris, mais je voulais avoir une confirmation.

    Mais que veux-tu dire par cette phrase :

    Citation Envoyé par OButterlin
    le bean (généralement), est un objet métier (et on peut en utiliser plusieurs pour charger un actionForm)
    Comment peut-on utiliser plusieurs beans pour charger un actionForm ?

    Merci encore.

  8. #8
    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
    Quand tu as une page complexe, qui fait référence à des "entités" différentes, on utilise généralement un bean métier par entité, c'est plus simple à maintenir.
    Par exemple, tu as une page représentant une facture, tu pourrais avoir des onglets, un pour les informations facture, un autre pour des informations client.
    Dans ce cas, ton actionForm aura des données de "types" différents, et on utilisera un bean facture et un bean client.
    A vrai dire, ça va dépendre de ton découpage "métier".
    Il faut voir l'actionForm comme l'objet d'interface avec la page JSP et le bean métier comme l'objet d'interface fonctionnelle.

    C'est plus clair pour toi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Merci pour tes remarques.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/09/2014, 08h23
  2. Réponses: 9
    Dernier message: 02/08/2007, 17h08
  3. Action et méthode reset d'un bean ActionForm
    Par raj dans le forum Struts 1
    Réponses: 5
    Dernier message: 15/05/2007, 17h59
  4. Réponses: 8
    Dernier message: 09/06/2006, 16h01
  5. [ Struts ] ActionForm & fonction
    Par stela86 dans le forum Struts 1
    Réponses: 2
    Dernier message: 18/05/2006, 10h58

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