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 :

Question LookupDispatchAction


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut Question LookupDispatchAction
    Bonjour,

    J'ai un formulaire avec plusieurs actions.
    Maintenant, je souhaiterais à l'intérieur des ActionForward faire un lien vers une méthode d'une autre action genre un new Action() et appeller la méthode execute.

    Est ce possible ?

    Merci,

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Par défaut
    il y a plus de methode execute avec le LookupDispatchAction. Il y a un exemple ds la FAQ de la procedure a suivre

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
     
    public class testAction extends LookupDispatchAction  {
     
        /**
         * Action dispatcher.
         * Associe la methode Action à executer par rapport au boutton correspondant à l'appel
         */
        protected Map getKeyMethodMap() {
            Map map = new HashMap();
            map.put("button.submit", "add");
            map.put("button.cancel", "cancel");
            return map;
        }
     
        /**
         * Unspecified action. Action par défaut
         */
        public ActionForward unspecified(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {
            System.out.println("unspecified");
            return null;
        }
     
        /**
         * Method add. Appelé sur "submit" du formulaire
         * 
         * @param ActionMapping mapping
         * @param ActionForm form
         * @param HttpServletRequest request
         * @param HttpServletResponse response
         * @return ActionForward
         * @throws IOException
         * @throws ServletException
         */
        public ActionForward add(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {
     
            System.out.println("ADD");
            return null;
        }
     
        /**
         * Method cancel. Appelé sur "cancel" du formulaire
         * 
         * @param ActionMapping mapping
         * @param ActionForm form
         * @param HttpServletRequest request
         * @param HttpServletResponse response
         * @return ActionForward
         * @throws IOException
         * @throws ServletException
         */
        public ActionForward cancel(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {
            System.out.println("CANCEL");
            return null;
        }
     
    }

  3. #3
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    oui c'est ce que j'utilise actuellement, mais pour un codage plus clair, je voudrais que externaliser le code des ActionForward.

    Je vais essayer d'être plus clair en montrant un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public ActionForward add(
        ActionMapping mapping, 
        ActionForm form, 
        HttpServletRequest request, 
        HttpServletResponse response) 
      throws IOException, ServletException { 
         ICI, Je voudrais faire un lien vers la méthode execute 
         d'une autre classe Action (un autre fichier .java)
     }

    Cela me permettrait donc d'externaliser le code des actionForward dans des Actions normales, facilitant ainsi ma lisibilité.

  4. #4
    Membre expérimenté
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Par défaut
    Rien ne t'empeche de travailler sur d'autre objet java ... je comprends pas ton pb

  5. #5
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    bah, je débute donc si ca se trouve tu ne comprends pas car c'est un truc tout bête ^^

    En fait, imaginons que tout le code qu'il y a a mettre dans l'ActionForward soit déjà définit dans la méthode execute d'une autre Action, dans ce cas, au lieu de réimplémenter le tout, il faut appeller la méthode de cette action. Et c'est ca que je ne sais pas faire.

    j'espere avoir été clair cette fois ci xD

  6. #6
    nad
    nad est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Par défaut
    Tu veux savoir si on peut faire un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public ActionForward add(
        ActionMapping mapping, 
        ActionForm form, 
        HttpServletRequest request, 
        HttpServletResponse response) 
      throws IOException, ServletException { 
          Action myAction = new Action();
     return myAction.execute()
     }
    Je ne vois pas l'interet mais ça doit être possible mais je ne sais pas si c'est "politiquement correct"

  7. #7
    Membre expérimenté
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Par défaut
    Comme te l'a montré nad c'est possible mais j'ai du mal a voir l'interet car dans le cas present ca fait du decoupage de code qui n'est pas fonctionnellement justifié (ca n'apporte pas grand chose) mais oui tu peux, pense juste a passer tous les paramètres sinon ton action va etre limitée

  8. #8
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    j'ai 4 boutons qui déclenchent des actions différentes dans mon formulaire.

    Cela est beaucoup plus clair si les 4actions sont dans des fichiers a part.

    Et enfin, si je souhaite réutiliser ces actions dans d'autres formulaire cela m'évite de faire des c/c de code, no?

    Je dis peut etre des betises ? ^^

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  2. Divers questions
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 06/08/2002, 21h57
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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