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

Servlets/JSP Java Discussion :

Javascript dans JSP


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut Javascript dans JSP
    Bonjour
    J'ai voulu utiliser une fonction javascript dans une page jsp et je ne sais pas comment passer le paramètre d'une fonction javascript au code java dans un scriptlet, voici l'xemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    function randBidon(unParam){
    <% out.print(math.rand ( %>unParam<%));%>
    }
    </script>
    avec ce code j'ai un probleme au niveau de unParam, est-ce que quelqu'un aurait une idée comment passer la paramètre de Jscript au java???
    merci

  2. #2
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut
    tu aurais pas inversé les tags jsp par hazard ?

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Citation Envoyé par kedare
    tu aurais pas inversé les tags jsp par hazard ?
    eh ben non... unParam est de javascipt est vant de le lire je ferme mes tags, et une fois que je le lit je réouvre le tag pour ajouter les parenthèses fermantes...

  4. #4
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonjour,

    pourquoi ne pas faire tout directement en javascript sans la moindre scriptlet ?
    De toute façon ca ne fonctionne pas de passer un paramètre dynamique à une à une méthode java (au passage math.rand n'existe pas et si c'est bien du java il faut enlever le out.print) puisque le javascript côté client ne peux pas appeler du java par magie sur un événement (par contre le code java pour l'initialisation d'une fonction js dynamique, ca c'est possible, par exemple pour fixer la valeur d'une variable js).

    Eric

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Bonjour Eric
    le code plus haut c'est juste un exemple, c'et claire juste pour un rand() je vais pas utiliser le scriplet java...
    en fait dans la partie scriplet j'appelle une des fonction de mon interface JAVA, voici un exemple plus concret:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script>
    function add(){
    //...faire qqch ici...
    <% gestionnaireLivre.add(request.getparameter('nom'));%>
    }
    </script>
    une telle fonction marche, j'ai testé, le truc c'est que maintenant je veux passer le paramètre 'nom' dans la fonction js, i.e. add(nom) et puis récupérer ce param dans gestionnaireLivre.add()...mais je ne sais pas comment, est-ce surtout possible?
    merci

  6. #6
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Citation Envoyé par waiso
    maintenant je veux passer le paramètre 'nom' dans la fonction js, i.e. add(nom) et puis récupérer ce param dans gestionnaireLivre.add()...mais je ne sais pas comment, est-ce surtout possible?
    merci
    Non. A moins de faire un aller retour serveur explicite (submit de formulaire), AJAX, etc...

  7. #7
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Citation Envoyé par waiso
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    function randBidon(unParam){
    <% out.print(math.rand ( %>unParam<%));%>
    }
    </script>
    le "unParam" il viens d'où ? Et où est appelé ta fonction ?

  8. #8
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    Je crois que tu as compris le problème vu que tu comptes te tourner vers ajax. Mais juste pour clarifier, tout le contenu jsp, c'est à dire entre les balises <% et %> est traité côté serveur, alors que le javascript intervient plus tard, du côté client uniquement. Ce que javascript "voit" c'est ce que tu vois en affichant la source depuis ton navigateur.

    Conclusion: jsp peut renseigner javascript, mais pas l'inverse.

  9. #9
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    merci pour le remarque Eric.

    Citation Envoyé par stela86
    le "unParam" il viens d'où ? Et où est appelé ta fonction ?
    le unParam:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="button" value="Supprimer" id=<%= livre.getId() %> onclick="supprimer(this.id))">
    //et avec le code plus haut cela ne marche pas, cf cette discussion
    Mais cela marche bien:

    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
     
    <script type="text/javascript">
        //une fonction javascript pour suuprimer l'élément avec id=4:
    	function supprimer(){
    	var res=confirm("Êtes vous sûre de supprimer cet élément?");
    	if (res==true){
    	<%
                GestionnaireLivres.getUniqueInstance().supprimerElement(4);
        %>
         alert("l'elémen  est supprimé "));
     
    ...
    et plus bas...
     
    <input type="button" value="Supprimer" onclick="supprimer()">

  10. #10
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Citation Envoyé par waiso
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="button" value="Supprimer" id=<%= livre.getId() %> onclick="supprimer(this.id))">
    //et avec le code plus haut cela ne marche pas, cf cette discussion
    Peut etre faudrait il faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" value="Supprimer" id="<%= livre.getId() %>" onclick="supprimer(this.id)">

  11. #11
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    bien vu Stella, mais le problème ne viens pas de là...
    En fait quand je charge cette page qui contient ce "fameux" script(qui marche, donc sans paramètres...), il va supprimer l'élément en appellant le code java, et cela sans appel de la fonction js- supprimer()- càd sans clicker le bouton.
    C'est parce que, le code JAVA est éxécuter par le serveur même s'il se trouve dans une fonction js, il n'a pas besoin pour être exécuter l' appel de la fonction js!
    Moralité de l'histoire:
    -ne pas utiliser le scriplet java dans une fonction js, car il sera exécuter de tt façon qu'on appelle ou pas cette fonction js.
    -je vais commencer un peu la lecture d'AJAX pour voir comment kje vais faire cela, apparemment c'est la solution.

  12. #12
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    j'utilise Ajax actuellement pour un application alors si jamais tu veux de l'aide!

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

Discussions similaires

  1. [JSP][Javascript]Javascript dans JSP
    Par Bathou dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/09/2009, 12h39
  2. appeler javascript dans jsp
    Par halio99 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/07/2009, 17h37
  3. Problème avec JavaScript dans JSP
    Par aminos88 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/06/2009, 22h31
  4. Apparition Javascript dans JSP
    Par matthedemon dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/05/2008, 16h56
  5. Fonction JavaScript dans JSP
    Par miss_marrakchia dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/05/2008, 14h35

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