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

Taglibs Java Discussion :

fmt et bundle [JSTL]


Sujet :

Taglibs Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut fmt et bundle
    bonjour,

    j'ai besoin d'afficher dans une JSP un libellé qui vient d'un bundle. jusque là aucun souci puisqu'il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="keyName"/>
    mais ce serait trop facile, la valeur de key doit être une variable. Quelqu'un peut il m'aider?
    j'ai déjà essayer de passer une variable jstl dans une variable java mais sans aucun succès.

    je désespère

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Il faut utiliser les ELs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="${taVariable}"/>
    a++

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    En fonction des taglib utilisés, il faut soit ${nomVariable} comme te le disait adiGuba, soit <%=nomVariable%>

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut
    Ne fonctionne pas avec ${xxxxx}
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <fmt:message key="${item.label}"/>
    voici le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L'attribut de balise personnalisé key ne peut pas être une expression d'exécution. valeur : "[${item.label}]"
    la définition de mon bundle se fait de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:bundle basename="/BUNDLES/template"></fmt:bundle>
    je vais tester la deuxième solution, je vous tiens au courant

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut
    est ce que je peux assigner une variable JSTL ${item.label} à une variable java de type string. Si oui, comment ?

    merci pour votre aide

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lecitoyen
    voici le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L'attribut de balise personnalisé key ne peut pas être une expression d'exécution. valeur : "[${item.label}]"
    C'est peut-être un problème de configuration...

    • Quel est ta version de J2EE/JSP ?
    • Quel est ta version de la JSTL (URI) ?


    a++

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>

    j'utilise Rational Application Developper d'IBM jvm=1.4.2

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lecitoyen
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
    Déjà tu utilises 2 versions différentes de la JSTL :
    • La 1.1 pour la librairie core (présence de /jsp/ dans l'URI)
    • La 1.0 pour la librairie fmt.

    (lire : les versions de la JSTL

    Citation Envoyé par lecitoyen
    j'utilise Rational Application Developper d'IBM jvm=1.4.2
    En fait il faudrait plutôt savoir la version de J2EE plutôt que la JVM...

    Donnes nous les premières lignes de ton web.xml ce sera plus simple

    a++

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut
    j'espère que j'ai choisi la bonne ligne :

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    merci pour tout

    lecitoyen

  10. #10
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lecitoyen
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    C'est l'entête type d'une application J2EE 1.4 (Servlet version 2.4 / JSP version 2.0), et donc il faut que tu utilises la JSTL 1.1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
    Pour faire simple il faut que tu utilises les URI avec un jsp/ dans le nom

    a++

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut
    effectivemtn, je n'ai plus l'erreur mais il affiche ????aaaa??? donc je suppose que ma façon de référencer le bundle n'est pas bonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:bundle basename="/BUNDLES/template"></fmt:bundle>
    par contre en java, c'est impec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResourceBundle res = ResourceBundle.getBundle("/BUNDLES/template", locale);
    est ce que ma façon de référencer mon budle est correcte?

    merci

  12. #12
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Pour moi on utilise une syntaxe proche du nom de classe Java, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:bundle basename="BUNDLES.template"></fmt:bundle>
    a++

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Par défaut
    Je vous remercie pour votre aide. Cela fonctionne !

    Merci

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

Discussions similaires

  1. [JSTL] FMT et ressource (bundle)
    Par kilicool dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/09/2010, 14h02
  2. Réponses: 4
    Dernier message: 14/04/2005, 13h59
  3. Réponses: 7
    Dernier message: 07/04/2005, 14h45
  4. Réponses: 3
    Dernier message: 30/07/2004, 10h51
  5. [Débutant][bundle] plusieurs "bundle"
    Par lando dans le forum Développement Web en Java
    Réponses: 12
    Dernier message: 11/09/2003, 18h13

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