Bonjour,
J'ai une application constituée d'un écran principal et de plusieurs boîtes de dialogue pour paramétrer l'appli.
Je voudrais éviter de charger toutes les boîtes de dialogue dans des div au chargement de l'appli. Je préférerais les charger à la demande.
Voici ce que j'ai essayé de faire :
La balise <t:lightbox/> correspond à un composant perso. Il ne pose aucun problème et s'affiche correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <f:view> <h:form> <h:commandButton action="#{lb.display}"> <f:ajax render="lightbox"/> </h:commandButton> </h:form> <f:subview id="lightbox" rendered="#{lb.rendered}"> <t:lightbox/> </f:subview> </f:view>
Mon ManagedBean :
Le problème, vous vous en doutez, c'est que ça ne marche pas. Soit l'attribut rendered est initialisé à true, et le composant s'affiche, soit l'attribut est à false, et le composant ne s'affiche pas, bien que la fonction display() soit bien appellée ainsi que getRendered() lorsque je clique sur le bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @ManagedBean(name="lb") public class LightboxBean { private boolean rendered = false; public void display() { rendered = true; } public void hide() { rendered = false; } public boolean getRendered() { return rendered; } }
Je pense que je fais fausse route, mais je ne vois pas de solution à mon problème. Avez-vous une idée de la manière dont je pourrais procéder ?
Merci![]()
Partager