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 2 Java Discussion :

Appler une action à partir d'une fonction JS


Sujet :

Struts 2 Java

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut Appler une action à partir d'une fonction JS
    Bonjour,

    je souhaiterez savoir s'il est possible d'envoyer un paramètre à une action Struts2 grâce à une fonction JS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function supprimer(num_onglet){
    alert(num_onglet);
    }
    Je souhaiterai envoyer le parametre num_onglet à une actionA.

    merci.

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Salut
    quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function supprimer(num_onglet){
    alert(num_onglet);
    load("monAction?param="+num_onglet);
    }
    Et je pense qu'il te faut un attribut param dans ton Action avec les getter et setter.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    Salut, merci pour ta réponse.

    je suis partie sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	public String AjouterMasquer(){	
    		String idModule = this.request.getParameter("idMod");
    		System.out.println("idModule");
    		return "success";
    	}
    et:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script language="JavaScript" type="text/JavaScript">
    function supprimer(idModule)
    {
    var idMod=idModule;
    //alert(idMod);
    load("AjouterMasquer?idModule="+idMod);					
    }					
    </script>
    mais l'appel de l'action ne semble pas fonctionner

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Salut
    request.getParameter("idMod"), c'est mal !!

    Ton paramètre idMod doit être un attribut de ta classe action avec les getters et setters correspondant.
    Il sera remplit à l'appel de l'action, par exemple avec un paramètre nommé test,
    l'appel de l'action monAction.action?test=moi
    l'attribut test aura la valeur moi.

    Après, sur l'appel JavaScript, je suis pas trop sur de mon coup.
    J'essaie de tester.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    C'est mal, mais j'avou que jusqu'à maintenant (j'ai débuté Java il y'a quelque mois) ça été bien pratique

    pour le getter et setter j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	public void setIdMod(int idMod) {
    		IdMod = idMod;
    	}
     
    	public int getIdMod() {
    		return IdMod;
    	}

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Je te conseille de mettre ça en String.
    Et dans le code Java tu te débrouilleras pour la conversion ^_^.

    Du coté de la jsp ensuite, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     <script language="JavaScript" type="text/JavaScript">
       function supprimer(num_onglet) {
           window.location.replace("/projet/monAct.action?name="+num_onglet);    
       }
       </script>
     
       <label><s:property value="name"/></label>
       <label onclick="supprimer(1)">Test</label>
    Il y a certainement mieux mais chez moi ca fonctionne.

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    Chez moi ça ne fonctionne pas: La fonction suprimer() est appeller dans ce Div:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="${module.idModule}"dojoType="dijit.layout.ContentPane" title="${module.titreModule }" closable="true" onClose="supprimer(${module.idModule})">
    la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function supprimer(idModule){				
    var idMod=idModule;
    window.location.replace("./jsp/AjouterMasquer.action?id="+idMod);
    }
    ça me renvoit Null

    java.lang.NumberFormatException: null

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Dans ton appel d'action, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window.location.replace("./jsp/AjouterMasquer.action?id="+idMod);
    mais le paramètre de ta classe Action est idMod, tu devrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window.location.replace("./jsp/AjouterMasquer.action?idMod="+idMod);
    T as essayé d'afficher la variable idModule de ta fonction javascript? ca te donne quoi?

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    le:

    renvoi le bon résultat (l'identifiant de l'élément à supprimer).

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    T 'as testé avec le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location.replace("./jsp/AjouterMasquer.action?idMod="+idMod);

  11. #11
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    C'est à dire, faire un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert(window.location.replace("./jsp/AjouterMasquer.action?idMod="+idMod));


    ça me renvoit undefined

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function supprimer(idModule){				
    var idMod=idModule;
    window.location.replace("./jsp/AjouterMasquer.action?id="+idMod);
    }
    faire ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function supprimer(idModule){				
    var idMod=idModule;
    window.location.replace("./jsp/AjouterMasquer.action?idMod="+idMod);
    }

  13. #13
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    Oui c'est bien la ligne que j'ai:

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    bizarre,
    fais donc voir ton struts.xml, et le code de ta classe action ^_^

  15. #15
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    J'ai le sentiment d'avoir bourdé quelque part


    JSP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function supprimer(idModule){				
    var idMod=idModule;
    //alert(idMod);
    //load("AjouterMasquer?idModule="+idMod);					
     
    							window.location.replace("./jsp/AjouterMasquer.action?idMod="+idMod);
    							//alert(window.location.replace("./jsp/AjouterMasquer.action?idMod="+idMod));
    }
    </script>
    STRUT.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
             <action name="AjouterMasquer" class="com.sqli.sixmmx.omniwidget.actions.MasquerAction" method="AjouterMasquer">
                <result name="success" type="chain">WidgetPrive</result>
            </action>
    classe action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	public void setIdMod(String idMod) {
    		this.idMod = idMod;
    	}
     
    	public String getIdMod() {
    		return idMod;
     
    	}


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	public String AjouterMasquer(){	
    		//String idModule = this.request.getParameter("idMod");
    		//System.out.println("idModule");
     
     
    		return "success";

  16. #16
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Elle est levée quand l'exception?

  17. #17
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    Euh... y'a pas d'exception je penses

  18. #18
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    T as dit tout a l heure que t'avais une NumberFormatException.

    Si y en a pas, t'es sur que ca fonctionne pas?

  19. #19
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    null
    RequestURI=/omniwidget/src/main/java/com/sqli/sixmmx/omniwidget/actions/AjouterMasquer.action

    oui j'ai cette erreur et j'ai beau chercher, j'arrive pas à la résoudre

  20. #20
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    Quand tu closes ta div, ca t'ouvre une nouvelle URL dans ton navigateur?
    C'est quoi l'URL?
    Elle est correcte?
    Je vois pas pourquoi t'as ce message d'erreur. Je ne l'ai jamais vu avant.

Discussions similaires

  1. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  2. Comment appeler une action à partir d'une autre action ?
    Par doobinay dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 28/05/2009, 17h35
  3. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  4. Réponses: 1
    Dernier message: 13/06/2008, 11h30
  5. Réponses: 4
    Dernier message: 03/06/2008, 18h20

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