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 :

Récupérer la valeur d'une variable JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2006
    Messages : 735
    Points : 544
    Points
    544
    Par défaut Récupérer la valeur d'une variable JSP
    Bonjour à tou(te)s,

    Je débute un peu en JSP et j'ai une petite question :
    Je peux facilement utiliser une variable java en JSP de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:if test="${<%=toto%> == 3}">
    Mais j'aimerai pouvoir faire l'inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:set var="toto" value="3">
    <% if (toto==3%>
    Mais dans ce cas, java me renvoie une exception me disant qu'il ne connait pas "toto"...
    Si vous pouviez m'aider, ça serait vraiment sympa !
    Mindiell
    "Souvent, femme barrit" - Elephant man

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    mai 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2010
    Messages : 104
    Points : 102
    Points
    102
    Par défaut
    Salut!
    Si tu utilises jstl (ie <c:...), autant continuer avec.

    Le bout de code là fonctionnera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <c:set var="toto" value="0" />      
    <c:if test="${toto == 0}">
            <c:out value="bigup!"/>
    </c:if>
    Autrement, les variables déclarées grâce à jstl (<c:set />) ne sont pas reconnues dans les scriptlets (<% %>). Et cela ne m'étonne pas puisque ce n'est pas fait pour fonctionner ensemble.

    En tout cas, je te déconseille fortement de mélanger le tout si tu veux produire un code propre et t'y retrouver. Tu ne peux pas encastrer les deux technos, mais tu peux les utiliser côte à côte (dans une même JSP), mais c'est extrêmement déconseillé. Un conseil : utilise JSTL + EL (cf ci-dessous)

    Regarde ces bouts de code, inspirés de ton bout de code (qui d'ailleurs, dans les deux cas, n'est pas bon) :

    SCRIPTLET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%-- déclaration --%>
            <%! int tata = 3; %>  
    <%-- scriptlet : exécute le code java --%>
            <%
               if (tata==3)
                   out.println("tata vaut : " + tata);
            %> 
    <%-- expression : affiche la valeur de tata --%>
            <%= tata %>
    JSTL + EL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <c:if test="${ toto == 0 }">
                <c:out value="bigup2!"/>
                valeur de toto : ${toto}
    </c:if>
    Je conclue en disant qu'on ne mélange pas les EL (expression language) et les scriptlets (toute manière ça fonctionne pas!). La JSTL et les EL sont faits pour fonctionner ensemble en vue de remplacer les scriptlets.

    PS: n'oublies pas de fermer tes balises

  3. #3
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2006
    Messages : 735
    Points : 544
    Points
    544
    Par défaut
    Merci pour cette réponse un poil tardive : Je me suis débrouillé autrement.

    En fait, je reçois des paramètres et je les utilise pour créer une url. Cependant, les paramètres n'étant pas url-encoded, j'avais besoin de les encoder. Et il semble que ce n'est pas faisable en JSP.

    J'ai donc url-encoded les paramètres en amont (et en java donc) pour les utiliser plus tard en jsp.
    Mindiell
    "Souvent, femme barrit" - Elephant man

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/10/2006, 18h16
  2. Réponses: 7
    Dernier message: 16/06/2006, 17h31
  3. Récupérer la valeur d'une variable d'environnement
    Par poca10 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/02/2006, 11h23
  4. Réponses: 1
    Dernier message: 21/11/2005, 13h07
  5. Récupérer la valeur d'une variable distante
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2005, 17h10

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