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 :

Expressions EL, problème avec les opérateurs < et >


Sujet :

Servlets/JSP Java

  1. #1
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut Expressions EL, problème avec les opérateurs < et >
    Bonjour,
    je lis un tuto sur les Expressions EL et j'ai un problème avec les opérateurs < et > qui ne sont pas interpreter correctement.
    Le tuto donne toute les info pour remplacer les opérateurs par de pseudo balises HTML, lt pour < et gt pour >,
    mais elle si elle traduisent effectivement le niveau du caractère elle ne traduisent pas la fonction.

    Pour cette version de l'expression
    Avec le message d'erreur :
    Description Resource Path Location Type
    The operator > is undefined for the argument type(s) java.lang.String, java.lang.String test_el.jsp /Test/WebContent line 1 JSP Problem

    Et le problème, qui fait toujours plaisir :
    j'ai ce message d'erreur :
    Description Resource Path Location Type
    The operator > is undefined for the argument type(s) java.lang.String, java.lang.String test_el.jsp /Test/WebContent line 1 JSP Problem

    Est-ce qu'il y a quelque chose à paramétrer dans une page.jsp contre cela?

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Ce que tu décris est tout à fait normal, quand tu écris ${ 'a' > 'b' } tu essais de comparer 2 chaines de caractères.

    D'ailleurs l'erreur retournée est plus que parlante

    The operator > is undefined for the argument type(s) java.lang.String, java.lang.String
    L'opérateur '>' n'est pas définie lorsqu'il s’agit de comparer 2 String ==> On voit bien qu'il a compris le sens de la question mais il n'est pas capable d'y répondre avec les éléments que tu lui donnes.

    Tu peux écrire visible="#{monbean.maFonctionQuiRenvoitUnInt > 1}".
    ou encore rendered="#{monbean.maFonction1 > monbean2.maFonction2}".
    et même avec un ternaire pourquoi pas rendered="#{1 > 2 ? true : false}".

    mais dans tous les cas il faut que tu compares des int et non pas des String.

    Cdt.

  3. #3
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut
    Merci pour la peine et la réponse, mais malheureusement ce n'est correct.

    Juste ici dessous un extrait de la doc de oracle pour .jsp
    On peut y voir que ce devrait marcher pour les strings, mais cela ne va pas non plus.

    Ref pour la doc : http://docs.oracle.com/javaee/1.4/tu...JSPIntro7.html

    Et sinon le tuto que je suis est bien dans la mesure ou c'est la seule chose qui ne marche pas jusqu'ici



    Operators

    In addition to the . and [] operators discussed in Variables, the JSP expression language provides the following operators:

    Arithmetic: +, - (binary), *, / and div, % and mod, - (unary)
    Logical: and, &&, or, ||, not, !
    Relational: ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le. Comparisons can be made against other values, or against boolean, string, integer, or floating point literals.
    Empty: The empty operator is a prefix operation that can be used to determine whether a value is null or empty.
    Conditional: A ? B : C. Evaluate B or C, depending on the result of the evaluation of A.
    Si tu as d'autres idées, d'avance merci

  4. #4
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Ok ben tu vois j'en savais rien.

    Après j'imagine que c'est logique, il va comparer le code ASCII des caractères et retourner une valeur booléenne comme c'est fait en temps normal.

    Par contre je viens de faire le test chez moi et ça fonctionne très bien.

    <af:outputText value="#{'a'>'b'}"/> Affiche false

    Peut tu nous montrer un peu plus de code ?

    Tu utilises quelle version de JSP ?

Discussions similaires

  1. Problème avec les expression régulière
    Par fouyou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 04/07/2007, 18h19
  2. [C#] problème avec les expressions régulières
    Par luimême dans le forum C#
    Réponses: 1
    Dernier message: 13/06/2007, 15h44
  3. [VB.net][vs2005] Problème avec les expressions régulières
    Par zouhib dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/06/2006, 15h56
  4. Problème avec les expressions régulières
    Par Premium dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 18/06/2006, 16h41
  5. Problème avec les opérateurs
    Par jules_lenoir dans le forum Langage
    Réponses: 4
    Dernier message: 26/01/2006, 16h56

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