Bonjour,
J'ai du code dans ma méthode onexecute (dans ma classe action) que je voudrais exécuter une seule fois tout au long de la session, un truc du genre static {...}, auriez-vous une idée de coment je pourrais m'y prendre?
Merci
Bonjour,
J'ai du code dans ma méthode onexecute (dans ma classe action) que je voudrais exécuter une seule fois tout au long de la session, un truc du genre static {...}, auriez-vous une idée de coment je pourrais m'y prendre?
Merci
Pourquoi ne pas le mettre dans execute de l'action de connexion ? Normalement, une telle action n'est appelée qu'une seule fois pour chaque session.
je vois pas de quel action tu parles, elle s'appelle comment?Envoyé par Modjo
Ca dépend (RQ: Je parles pas d'une action prédefinie ou quelque chose de la sorte).
Tu veux avoir un code à exécuter une seule fois par session : deux cas se présentent :
- ou bien tu un mécanisme de connexion: un formulaire (login +mdp) et une action qui valide l'opération
- ou bien pas de mecanisme de connexion, mais ton site à bien un point d'entrée (index.jsp)
dans le premier cas, l'action qui valide la connexion de l'utilisateur n'est exécuté qu'une seule fois tout au long de la visite de l'utilisateur (== session)
Dans le second cas, tu peux invoquer un globalForward vers une action qui exécute ton code d'initialisation et qui redérige l'utilisateur vers le contenu du site.
J'espère que c'est plus clair maintenant !
Bonjour,
Merci, oui c'est plus clair maintenant, je vais plutôt essayer la deuxième option, étant donné que le module d'authentification de mon appli est un module à part que e ne pourrai modifier.
Pour une Servlet, la méthode init() permet d'exécuter un code une fois et une seule fois pendant tout son cycle de vie.
Ce type de méthode doit donc exister pour les Action : une recherche de ce côté là peut donc être très intéressante.![]()
Euh, init c'est une seule fois pour le cycle de vie d'une Servlet, pas d'une Session, or le besoin ici c'était par session ...
Oui, c'est exact mais tu peux exécuter une Action à l'ouverture d'une session.![]()
Sinon, tu peux créer un objet étendant HttpSessionBindingListener et définir la méthode valueBound (et éventuellement valueUnbound)
valueBound sera appelé quand tu mets l'objet en session (donc une fois)
A+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager