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 :

Utilisation du c:set


Sujet :

JSF Java

  1. #1
    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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut Utilisation du c:set
    Hello,

    Dans ma page JSF, j'ai une dizaine de fois l'appel à une méthode de mon bean. En gros, je me retrouve avec beaucoup de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    <... rendered="#{myBean.showIt}"/>
    ...
    <... rendered="#{!myBean.showIt}"/>
    ...
    Le problème c'est que du coup, la méthode isShowIt() de myBean va être appelée une dizaine de fois.
    Je me suis dit qu'en écrivant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    <c:set var="showItTmp" value="#{myBean.showIt}"/>
    <... rendered="#{showItTmp}"/>
    <... rendered="#{!showItTmp}"/>
    ...
    la méthode isShowIt() de myBean ne serait appelée qu'une fois pour définir la valeur de showItTmp, et qu'ensuite, tous les attributs rendered ferait appel à cette variable.

    Or, il s'avère que myBean.showIt() continue d'être appelée une dizaine de fois...

    Est-ce un comportement normal ? J'ai peut-être pas bien compris l'intérêt de <c:set .../>, qui ne serait alors qu'un "raccourci" d'écriture d'expression EL...
    Pour information, j'utilise le moteur EL "EL Functor". Je ne sais pas si ça peut jouer ou pas.

    Si effectivement c'est le comportement normal de <c:set .../>, y a t'il une possibilité pour que myBean.isShowIt() soit appelée une seule fois ??
    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

  2. #2
    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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Hum, j'ai pas l'air de vous inspirer avec ma question
    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

  3. #3
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Ben ... c'est une bonne colle ^^

    J'ai testé ce que ca donnait chez moi et il s'avere que le c:set ne se comporte pas comme un raccourci. En revanche, je ne vois pas pourquoi dans ton appli, le c:set se comporte comme un raccourci, ca viendrai peut etre de ton moteur EL Functor.

  4. #4
    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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bon, supposons qu'il s'agisse bien d'un problème de mon ami EL Functor (vu le peu de doc dessus, c'est pas facile à savoir si ça peut avoir un lien).
    Y aurait-il un moyen de passer outre ces multiples appels, et n'avoir qu'une seule fois l'appel à ma méthode de mon bean ?
    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

  5. #5
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Je ne sais pas si tu peux ou meme si tu as le droit d'utiliser du javascript, mais si c bon tu peux toujours affecter ta valeur a une variable javascript.

Discussions similaires

  1. Utilisation de My.Settings
    Par BenoitM dans le forum Visual Studio
    Réponses: 0
    Dernier message: 11/09/2008, 17h12
  2. [JSTL] Erreur à l'utilisation de <c:set />
    Par welcome_59 dans le forum Taglibs
    Réponses: 2
    Dernier message: 07/07/2008, 08h26
  3. [2.2.1][Général] Utilisation des data sets
    Par erwan.bodere dans le forum BIRT
    Réponses: 1
    Dernier message: 21/11/2007, 09h17
  4. Réponses: 1
    Dernier message: 28/04/2007, 00h07
  5. Réponses: 2
    Dernier message: 31/10/2006, 16h29

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