RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Les actions Struts 1

Forum : J2EE
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ J2EE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM J2EE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
mrjeronimo
Nouveau membre
Inscrit : 19/05/2008
Messages : 7
Message
#153276
Posté le 20/05/08 à 13:16
Bonjour,

Sachant qu'une action struts 1 est instanciée une seule fois. Comment fait-elle pour traiter les requetes qui lui sont destinées?
Implémente-t-elle par défaut la gestion des threads comme c'est le cas pour les servlets (merci de me corriger si je dis des conneries). Ou doit-on coder cela à l'interieur de l'action?

Merci pour l'aide !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

ReaM
Superviseur :
- Java
Avatar de ReaM
Inscrit : 24/02/2005
Messages : 742
Message
#153277
Posté le 20/05/08 à 13:48
Rebonjour mrjeronimo,

Il n'y a rien à coder de plus dans vos classes actions. La seule chose à faire est soit détendre DispatchAction ou Action.

Dans le cas Action : Une et une seule méthode : execute()

Ce qui correspond à ceci dans le struts-config.xml :


<global-forwards> <forward name="menu" path="/menu.do" /> </global-forwards>



public class MenuAction extends Action { public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception { ActionErrors errors = new ActionErrors(); ApplicationAccessForm appAccForm = (ApplicationAccessForm)request.getSession().getAttribute("accessBean"); try { // Appel aux différentes BL } catch (Exception e) { errors.add("errors", new ActionMessage("error.dynamic", e.getMessage())); } if (!errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward("logon"); }else{ return mapping.findForward("menu"); } } }


Dans le cas de DispatchAction :

On peut définir plusieurs méthodes différentes qui correspondent à ceci dans le struts-config.xml


<action path="/filterNeed" validate="false" type="com.????.actions.FilterNeedAction" name="FilterNeedForm" scope="request" parameter="methode"> <forward name="needList" path="/need.do?methode=getList"/> <forward name="auditList" path="/need.do?methode=getAudit"/> </action>


public class FilterNeedAction extends DispatchAction{ public ActionForward getList( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ ActionErrors errors = new ActionErrors(); FilterNeedForm filterForm = (FilterNeedForm) form; ApplicationAccessForm appAccForm = (ApplicationAccessForm)request.getSession().getAttribute("accessBean"); try{ filterForm = FilterNeedBO.setFilter(appAccForm,filterForm); request.setAttribute("filterNeedBean",filterForm); }catch (Exception e) { errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.dynamic", e.getMessage())); } if (!errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward("menu"); } return mapping.findForward("needList"); } public ActionForward getAudit( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ ActionErrors errors = new ActionErrors(); FilterNeedForm filterForm = (FilterNeedForm) form; ApplicationAccessForm appAccForm = (ApplicationAccessForm)request.getSession().getAttribute("accessBean"); try{ filterForm = FilterNeedBO.setFilter(appAccForm,filterForm); request.setAttribute("filterNeedBean",filterForm); }catch (Exception e) { errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.dynamic", e.getMessage())); } if (!errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward("menu"); } return mapping.findForward("auditList"); }


Ce sont de vieux codes que j'ai pu retrouver par hasard , struts1 n'étant plus tout jeune ^^
__________________________
Image
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

mrjeronimo
Nouveau membre
Inscrit : 19/05/2008
Messages : 7
Message
#153278
Posté le 20/05/08 à 13:55
Merci bien !
Au fait je viens de découvrir que l'action a le même cycle de vie que la servlet et qu'elle est également multi-thread ^_^
merci pour ton aide

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM J2EE



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.