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

JSF Java Discussion :

[JSTL] c:forEach et EL


Sujet :

JSF Java

  1. #21
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si le nombre max de tabs est connu à l'avance, tu peux aussi simplement multiplier les tabs et utiliser leur parmètre "rendered=" pour cacher ceux en trop.

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Parce que, à la base, les onglets de richefaces ne sont pas prévus pour être dynamiques (libre à toi de soumettre un request feature chez jboss pour la prochaine version).
    Ok, c'est quand même bizarre, en général les pages web sont dynamiques, sauf si son site est codé en HTML.
    Citation Envoyé par tchize_ Voir le message
    Au fait, as-tu essayé ce type de code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <rich:tabPanel ...>
      <a4j:repeat ...>
        <rich:tab ...>
    Oui, ça ne marche pas, mais ça je le savais déjà, une histoire de place réservée aux composants dans la page affichée.
    Citation Envoyé par tchize_ Voir le message
    Sinon t'as toujours aussi la possibilité d'utiliser le binding pour créer dynamiquement le composant avec du code java, comme pour n'importe quel composant JSF
    C'est ce que je me suis résigné à faire. C'est bien dommage d'en arriver là.
    Citation Envoyé par tchize_ Voir le message
    si le nombre max de tabs est connu à l'avance, tu peux aussi simplement multiplier les tabs et utiliser leur parmètre "rendered=" pour cacher ceux en trop
    Ca c'est toujours possible, mais ça ne rentre pas dans mes principes de codage, je ne trouve pas ça très beau.

    Merci de votre aide, c'est vrai que c'est curieux ce c:forEach qui ne marche pas alors qu'il semblerait que j'aie les bonnes versions des jars...

  3. #23
    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,

    Citation Envoyé par ronchman07 Voir le message
    Sinon, l'uri "xmlns:c="http://java.sun.com/jsp/jstl/core"" est dépassée, maintenant il faut mettre:
    "xmlns:c="http://java.sun.com/jstl/core""
    Non justement !!! Il serait plus correct d'utiliser http://java.sun.com/jsp/jstl/core

    Je ne connais pas JSF mais si je ne m'abuse les #{..} sont géré par le moteur tout comme les ${..} (d'ailleurs un jour il faudrait que je comprenne la différence entre les deux :aie).


    L'URI http://java.sun.com/jsp/jstl/core est utilisé par les premières versions de la JSTL, destiné aux moteurs JSP 1.2 qui n'intégrait pas le support des EL. Lorsqu'on utilise cette URI les tags acceptent seulement des chaines de caractères, qui seront interprété par la suite comme une EL par un moteur interne.

    Le problème c'est que cela ne marche plus avec un moteur JSP 2.0 qui tentera d'analyser lui-même les ELs.

    L'URI http://java.sun.com/jsp/jstl/core est destiné aux JSP 2.0 en laissant la gestion des ELs au moteur JSP (d'où l'ajout du JSP dans le nom). Les tags acceptent alors des types dynamiques comme valeur d'attributs (ce qui permet d'utiliser les EL).


    Donc à mon avis tu devrais plutôt utiliser cette dernière URI

    a++

  4. #24
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Je ne connais pas JSF mais si je ne m'abuse les #{..} sont géré par le moteur tout comme les ${..} (d'ailleurs un jour il faudrait que je comprenne la différence entre les deux :aie).
    c'est exactement la même chose à quelques différences prés.

  5. #25
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    En JSF 1.2, les deux sont les mêmes (on privilégiera #).

    Quant à la différence entre # et $ quand elle existait :

    Evaluation of EL is categorized as immediate evaluation and deferred evaluation. Immediate evaluation means a JSP page evaluates the expression when the page is rendered. With immediate evaluation, all values are always read-only. JSP EL expressions take the form of ${imExpr}. JSP expressions are evaluated immediately.


    Deferred evaluation means that the technology using the unified EL takes over the responsibility of evaluating the expression from the JSP engine and evaluates the expression at the appropriate time during the page lifecycle. The EL takes control from the JSP container to evaluate the expression at the appropriate time. JSF EL expressions take the form of #{defExpr}. JSF expressions work in this way.
    source
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Par défaut
    Ok, je me suis trompé sur "http://java.sun.com/jsp/jstl/core", mais en tout cas, quoique je fasse, j'ai toujours la même erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #{..} is not allowed in template text
    si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <c:forEach items="#{bean.list}">
    Problème non résolu donc.

Discussions similaires

  1. [JSTL] Problème foreach
    Par NameX dans le forum JSF
    Réponses: 2
    Dernier message: 06/09/2011, 15h54
  2. JSTL foreach et commandLink
    Par kha_yassine dans le forum JSF
    Réponses: 2
    Dernier message: 12/06/2008, 00h41
  3. [JSTL] connaitre taille de la collection items du forEach
    Par makohsarah dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/05/2008, 16h58
  4. Probleme JSTL <c:foreach >
    Par petitpasdelune dans le forum Struts 2
    Réponses: 17
    Dernier message: 27/06/2007, 13h32
  5. Réponses: 1
    Dernier message: 11/12/2006, 19h17

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