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 :

[Débutante][Struts] Actions multiples


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut [Débutante][Struts] Actions multiples
    Bonjour,

    J'ai un petit problème.

    J'ai lu et appliqué ce que disait la FAQ, mais malgré ça, je n'ai pas de résultats très probants.

    J'ai une liste d'éléments avec des "chekbox" et deux boutons "submit" :
    - Ajouter
    - Supprimer

    Lorsque je clique sur Supprimer, je veux être redirigée sur la même page, et lorsque je clique sur Ajouter, je veux être redirigée sur le formulaire de saisie.

    Appelons la page qui contient la liste : Liste.jsp, et la page nécessaire à la saisie : Saisie.jsp.

    Voici mon Liste.jsp :
    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
    <%@ page language="java"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> 
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
    <html:html> 
    	<body>
    		<html:form action="/ListeAbsence">
    			...............
    			<html:submit>
    				<bean:message key="button.add"/>
    			</html:submit>
    			<html:submit>
    				<bean:message key="button.del"/>
    			</html:submit>
    		</html:form>
    	</body>
    </html:html>
    Dans mon struts-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <action
    	attribute="liste"
    	input="/Liste.jsp"
    	name="liste"
    	path="/Liste"
    	type="ListeA"
    	parameter="submit">
    	<forward name="Ajout" path="/Saisie.jsp" />
    	<forward name="Suppr" path="/Liste.jsp" />
    </action>
    Dans mon ApplicationResources.properties :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    button.add=Ajouter
    button.del=Supprimer
    Et dans mon ListeA.java :
    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
    public class ListeA extends DispatchAction
    {
    	protected Map getKeyMethodMap(ActionMapping mapping, ActionForm form, HttpServletRequest request) 
    	{
    		Map map = new HashMap();
    		map.put("button.add", "add");
    		map.put("button.del", "del");
    		return map;
    	}//getKeyMethodMap()
     
    	public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    	{
    		return mapping.findForward("Ajout");
    	}//add()
     
    	public ActionForward del(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    	{
    		return mapping.findForward("Suppr");
    	}//remove()
    }//class ListeA
    Pourquoi lorsque je clique sur le bouton d'ajout, il revient à la même page ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    je ne suis pas très sûr de ce que je vais dire (les experts Struts me le diront).

    Le Dispatch action est surtout utilisé lors que plusieurs action interagissent sur la même page/formulaire. Par exmple, un caddie virtuel tu peux avoir: maj la quantité de l'article X, suppression de l'article, etc ...

    Si tu veux diriger l'utilsateur vers une autre page pour ton opération "Ajouter". Il vaut mieux écrire une autre action, cad la séparer de ton dispatch action. Ainsi tu n'auras plus de pb pour la redirection de ta page.

  3. #3
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    sleepy2002, tu as bien compris mon problème, j'ai une action "Ajouter un élément" et une autre supprimer un élement.

    Mais je n'ai rien compris à ton dernier paragraphe :S

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Par défaut
    tu as essayé de mettre des points d'arrets dans ton dispatch action voir si tu passes dans les bonnes actions ?

    par contre je suis pas expert struts mais la reponse de sleepy mesemble pas correcte, enfin du moins pas tout a fait

    d'apres moi tu as bien tes deux actions dans le meme dispatch action par contre,
    moi j'aurai rediriger le suppr vers une action du dispatch action de l'autre JSP et non sur la jsp directement
    vois tu ?

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Tu est sur de tes 2 boutons submit dans ton formulaire ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    Citation Envoyé par BiMouXeTTe
    sleepy2002, tu as bien compris mon problème, j'ai une action "Ajouter un élément" et une autre supprimer un élement.

    Mais je n'ai rien compris à ton dernier paragraphe :S
    Salut,

    désolé pour la confusion. Ce matin j'ai fouillé un peu sur les ressources concernant Struts et j'ai trouvé quelques pistes. Dans ton struts config tu dois replacer la valeur de l'attribut parameter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <action
       attribute="liste"
       input="/Liste.jsp"
       name="liste"
       path="/Liste"
       type="ListeA"
       parameter="action">
       <forward name="redirectionAjout" path="/Saisie.jsp" />
       <forward name="redirectionSuppr" path="/Liste.jsp" />
    </action>
    D'après ce que j'ai compris la valeur de l'attribut "parameter" sert à déclarer la methode que tu vas utiliser. Donc ce sera soit add ou bien del:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    http://localhost/app/Liste.do?action=del
    http://localhost/app/Liste.do?action=add
    Ensuite les redirections dependent du code de ton action: add ou del.

    Je n'ai pas testé si ça marche mais je pense que ça peut t'aider à résoudre ton pb. En tout cas, merci car j'ai appris un nouveau truc sur Struts

    Note 1: "action" est un exemple, tu peux appeler ce paramêtre comme tu veux "toto", "foo", "method", etc ...
    Note 2: référence du truc: "Struts in Action" version anglaise (page 225)[/b]

  7. #7
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Ben en fait j'ai résolu mon problème et j'ai un peu mieux compris le principe.

    Merci à tous pour vos réponses !!

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

Discussions similaires

  1. Débutante - Code VBA pour MsgBox avec actions multiples
    Par kisscool35 dans le forum Access
    Réponses: 5
    Dernier message: 22/08/2006, 17h43
  2. [STRUTS] Actions et forms
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 3
    Dernier message: 08/12/2004, 10h34
  3. [débutant][struts]html:options
    Par GreenJay dans le forum Struts 1
    Réponses: 5
    Dernier message: 24/05/2004, 14h04
  4. [Struts][Débutant]Servlet Action non dispo ?
    Par Ho(c)ine. dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/04/2004, 08h06
  5. [débutant][struts] iterate imbriquée
    Par muim dans le forum Struts 1
    Réponses: 6
    Dernier message: 19/02/2004, 15h13

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