|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
![]() ![]() Thierry Leriche-DessirierInscription : octobre 2007 Messages : 2 259 ![]() |
Bonjour,
J'ai écris un petit composant pour mes pages : Code :
Code :
Code :
Comment je peux faire pour que ça n'appelle getTranslation() que la fois où j'appelle mon composant et que ça transmette la valeur direct ? Th.
__________________
Thierry Leriche-Dessirier Ingénieur Architecte JEE Freelance Rédacteur pour Developpez Professeur de Génie Logiciel à l'ESIEA Page sur Developpez : http://thierry-leriche-dessirier.developpez.com Site : http://www.icauda.com Linked'in : http://www.linkedin.com/in/thierryler Twitter : http://www.twitter.com/thierryleriche |
||||||
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Tu dois t'arranger pour que getTranslation garde la valeur en cache.
Par exemple, rendre monbean est requestScope et stoker dans un champ la réponse à getTranslation. Code :
Ton composant appelera l'EL autant de fois qu'il en a besoin. Autrement dit, pour récupérer la valeur par défaut, pour stocker les valeur, à chaque fois qu'il boucle en interne, etc. Pourquoi? Parce qu'il ne peux pas être certains que la donnée n'a pas changé entre deux appels.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
||
|
|
00
|
|
|
#3 | ||||
![]() ![]() Thierry Leriche-DessirierInscription : octobre 2007 Messages : 2 259 ![]() |
En fait, j'avais aussi pensé à faire du immediate/delayed evaluation (ie dollar/diese) mais sans plus de résultat.
D'ailleurs j'ai simplifié mon cas de test à des includes simples : Code :
Code :
Encore, pour cet exemple, je peux m'en sortir avec une pirouette mais mes pages sont remplies de ça :-( Je me demande si ça peut venir de jboss-el que j'utilise uniquement pour passer des param comme dans getTranslation(localeManager.lang)...
__________________
Thierry Leriche-Dessirier Ingénieur Architecte JEE Freelance Rédacteur pour Developpez Professeur de Génie Logiciel à l'ESIEA Page sur Developpez : http://thierry-leriche-dessirier.developpez.com Site : http://www.icauda.com Linked'in : http://www.linkedin.com/in/thierryler Twitter : http://www.twitter.com/thierryleriche |
||||
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() |
Ca viens de la manière dont les templates sont géré dans facelets là.
Quand tu associer mavar à une expression, tu n'associer pas la valeur de l'expression, mais l'expression elle même. Du coup, #{mavar.label} consiste à aller chercher la valeur de "label" dans mavar.getValue(), avec ma var un objet de type Expression. Ca a ses avantages, (mavar peux changer de valeur au cours du cycle jsf) et aussi ses inconvénient (nombres d'accès). Je ne pense pas que tu aie d'autre solution que de rendre getTranslation plus performant. ou de récupérer tes données via d'autres bean qui contienent déjà le résultat du calcul.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#5 |
![]() ![]() Thierry Leriche-DessirierInscription : octobre 2007 Messages : 2 259 ![]() |
Aie... Je l'ai dans l'os... C'était le cas simple la...
__________________
Thierry Leriche-Dessirier Ingénieur Architecte JEE Freelance Rédacteur pour Developpez Professeur de Génie Logiciel à l'ESIEA Page sur Developpez : http://thierry-leriche-dessirier.developpez.com Site : http://www.icauda.com Linked'in : http://www.linkedin.com/in/thierryler Twitter : http://www.twitter.com/thierryleriche |
|
00
|
Copyright © 2000-2013 - www.developpez.com