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 et jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut javaScript et jsp
    bonjour,
    j'essaye de faire un test sur une donnée que je recupère de la BD dans ma jsp,via javaScript,mais le code que j'ai utilisé ne semble pas fonctionner

    code:

    <script type="text/javascript">
    if(<%=utilisateur.getAffectation().getType()%>=="Direction"){
    alert("ok");
    }
    </script>

    ou est ce que je me suis tromper??

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    C'est un peu court pour savoir où tu t'es trompé.
    En tout cas, ca n'est pas joli joli comme code.

    Pourquoi tu n'utilises pas les EL et <c:set /> de la JSTL ?

    Ensuite utilises éventuellement le debugger de ton IDE pour connaitre la valeur de tes variables.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    merci bcp d'avoir repondu
    J'ai refais avec ceci:

    <script type="text/javascript">
    var type="<%=utilisateur.getAffectation().getType()%>";

    if(type =="Direction"){
    alert("ok");
    }
    </script>

    et ça a marché,le message ok s'est affiché,donc le test se fait bien,maintenant je veux afficher une donnée dans un textbox,est ce que cela est correct:

    <script type="text/javascript">
    var type="<%=utilisateur.getAffectation().getType()%>";

    if(type =="Direction"){
    document.write("<input type="text" value="<%=utilisateur.getAffectation().getNomaffectation()%>"/>);


    }
    </script>



    NB:aucune idée sur jstl!!

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    document.write() est quasiment deprecated.

    Pour faire du javascript un tant soit peu dynamique, je te conseille 1000 fois Prototype ou jquery. C'est quasimment obligatoire, même pour débuter.

    Sauf si tu es étudiant et qu'il y a interro dessus.

    Pour la JSTL

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    dacord.merci bcp pour la doc

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    Enfait,j'ai resolu le problème juste avec javaScript.voici le code:

    <input type='text' id='texte' />

    <script type="text/javascript">
    var type="<%=utilisateur.getAffectation().getType()%>";

    if(type =="Direction"){
    document.getElementById('texte').value='<%=utilisateur.getAffectation().getNomaffectation()%>';
    }
    </script>

  7. #7
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Ya encore du boulot

    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
    21
    22
    23
    24
    25
     
     
    public class User {
     
    Affectation affectation;
    public User(Affectation aff){
    this.affectation = affectation;
    }
     
    Affectation getAffectation (){
    return this.affectation;
    }
     
     
    //autre fichier
    public enum Affectation{
    DIRECTION, GROUILLOT, CONSULTANT;
     
    @Override
    public toString(){//en tapant ${user.affectation} on aura toString()
       return name().toLowercase();
    }
     
     
    }
    Pour le jsp/javascript

    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
    21
     
    <%@ page import ="mypack.Affectation" %>
    <c:set var="affectation" value="${utilisateur.affectation}"/>
    <c:set var="dirlo"><!-- On met la valeur de la variabe en text xml -->
      <%= Affectation.DIRECTION %>
    </c:set>
     
     
    <html>
     
    <div>En bas il faut que je mette l affectation du gars</div>
    <div id="texte">Le gars est affecté comme : ${utilisateur.affectation}</div>
     
    <div> Oui, mais je ne veux pas afficher ca si il est pas dirlo</div>
     
    <c:if test="${affectation==dirlo}">
       <div>En bas il faut que je mette l affectation du dirlo</div>
       <div id="texte">Le gars est affecté comme : ${utilisateur.affectation}</div>
    </c:if>
     
    </html>
    Il y a à peu près 10% de chance pour que ce code marche , mais ca traduit le fait qu'il vaux mieux éviter de mélanger du java dans du javascript.
    Et mieux vaux faire des Enum plutot que des comparaisons de chaines.

    Ensuite il manque les JavaBean pour que cela soit propre. A terme, les <%= %> doivent impérativement disparaitre. Sinon ton code devient illisible, et surtout tu multiplie ce code dans tes différentes pages, ce qui forcemment entrainera des erreurs.

    ----

    Ici, si j'ai bien compris, tu n'as surtout pas besoin du javascript. Pourquoi faire afficher dynamiquement par le client quelquchose déjà connu par le serveur ??
    Avec Prototype, au lieu de document.getElementById('texte').value='xxx'; , on a $("texte").update(xxx), ce qui est plus sympa, et ce n'est que le début

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

Discussions similaires

  1. [Javascript to jsp] Encode url
    Par HydN- dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/07/2007, 18h15
  2. Javascript et JSP - sur onclick() changer valeur d'un boolean
    Par petiteso dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2007, 09h46
  3. Javascript dans JSP
    Par waiso dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 23/05/2006, 16h25
  4. Javascript et JSP
    Par roxxor31 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 17h24
  5. Pb encodage avec javascript et JSP
    Par marti dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/12/2005, 10h06

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