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 :

[Action] Crée sa propre action ?


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Par défaut [Action] Crée sa propre action ?
    Bonjour,

    J'aurais voulu savoir si il était possible de modifier la classe action afin d'automatiser certaine tache. je m'explique.
    Je veux pouvoir faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class AddAction extends MonAction{
    ...
    Et que dans MonAction j'ai un traitement qui soit appelé (une vérification sur la session par exemple).

    Est-ce possible ?
    Merci.

  2. #2
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 12
    Par défaut
    Citation Envoyé par Spiff__ Voir le message
    J'aurais voulu savoir si il était possible de modifier la classe action afin d'automatiser certaine tache.
    Si j'ai compris votre question, vous voulez demander s'il est possible d'avoir plusieurs méthodes dans la classe Action ( à part la méthode par défaut).
    Ceci est possible si vous déclarez la classe comme extends DispatchAction au lieu de Action.

  3. #3
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 242
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 242
    Par défaut
    Bien sur il est possible de modifier la classe Action car nous avons les sources mais c'est tres tres tres fortement déconseillé pour ce genre de traitement ....


    Sinon, ce que tu demandes c'est étendre les fonctionnalité de la classe Action

    et bien c'est le mot clef extends qu'il te faut

    l'heritage

  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
    Certes, ça passe par extends...

    Ça paraît un peu plus sioux de prime à bord pour une classe étendant DispatchAction vu que le nom de la méthode appelée n'est pas "execute", mais à vrai dire, ça ne change rien, on passe toujours par "execute".
    Ci-joint un exemple :
    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
     
    public class GenericAction extends DispatchAction
    {
        public static String FORWARD_DEFAULT = "default";
        public static String FORWARD_ERROR = "error";
        public ActionForward forward = null;
     
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception 
        {
            String parameterName = null;
            String methodName = null;        
     
            try
            {
                parameterName = mapping.getParameter();
                if ( parameterName == null ) throw new IllegalArgumentException("illegal parameter");
     
                // Contrôle de l'appel : interdit l'utilisation de execute ou perform
                  methodName = request.getParameter(parameterName);
                if ( methodName != null && ("execute".equals(methodName) || "perform".equals(methodName)) ) 
                {
                        throw new IllegalArgumentException("illegal parameter");
                }
     
                forward = super.execute(mapping, form, request, response);
     
            }
            catch (Throwable t)
            {
                forward = mapping.findForward(FORWARD_ERROR);
            }
            return forward;
        }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Par défaut
    Merci à vous ( désoler pour la réponse un peu tardive ).

    Je me suis mal fait comprendre ( ou alors c'est moi qui ne comprend pas ).
    En faisant par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class addAction extends MonAction{
    	@SuppressWarnings("unchecked")
    	@Override
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    	        HttpServletRequest request, HttpServletResponse response)
    	        throws Exception {
    ...
    Je veux par exemple afficher un message sur la console. mais que ce message soit afficher a chaque fois que j'étends ma class MonAction ou que je redéfinis execute.

    Est-ce possible?

    OButterlin: Je ne sais pas si ta classe m'est entièrement destiné, mais je ne pense pas avoir le niveau me permettant de l'utiliser. Merci quand même.

Discussions similaires

  1. MonGang.com : Crées ton propre jeu en ligne
    Par falancio dans le forum Mon site
    Réponses: 8
    Dernier message: 19/05/2007, 14h32
  2. No action instance for path /action could be created
    Par gentil dans le forum Struts 1
    Réponses: 20
    Dernier message: 10/04/2007, 13h54
  3. Comment differencier un champ action de la proprieté action du formulaire?
    Par TangoZoulou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/02/2007, 17h20
  4. action qui déclenche plusieurs actions
    Par imane_bennouna dans le forum Struts 1
    Réponses: 6
    Dernier message: 08/08/2006, 15h48
  5. Lancer une action depuis une autre action
    Par anaon dans le forum Struts 1
    Réponses: 6
    Dernier message: 04/08/2006, 19h38

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