0 votes

jsf, richfaces, fenêtre popup

Je voudrais faire une vue liste-détail avec des richfaces. Il y aura un lien pour chaque enregistrement de la liste qui devra ouvrir une nouvelle fenêtre contenant les détails de l'enregistrement. J'ai essayé d'implémenter le lien de cette façon :

<a4j:commandLink oncomplete="window.open('/pages/serviceDetail.jsf','popupWindow', 'dependent=yes, menubar=no, toolbar=no, height=500, width=400')" actionListener="#{monitoringBean.recordDetail}"  value="details" />         

J'utilise <a4j:keepAlive beanName="monitoringBean" ajaxOnly="false" /> pour la liste et la page de détails. La méthode recordDetail remplit les données de l'enregistrement sélectionné dans une variable du haricot que je souhaite afficher sur la page de détails.

Le problème est que keepalive ne fonctionne pas, ce qui fait que je reçois à chaque fois une nouvelle instance de haricot sur la page de détail. Ainsi, l'enregistrement précédemment sélectionné dans l'autre bean n'est pas accessible ici. Y a-t-il un moyen de passer un paramètre (id) à la page de détail pour gérer la sélection d'enregistrement. Ou y a-t-il un moyen de faire fonctionner le keepalive ? (Je pense que c'est le plus simple).

Merci

3voto

Bozho Points 273663

Évitez d'utiliser window.open(..) - il échouera dans la plupart des configurations de navigateur actuelles (en raison du blocage des fenêtres pop-up).

Utilisez <rich:modalPanel> à la place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X