2010-05-06 8 views
0

Je voudrais faire une vue de liste détaillée avec richfaces. Il y aura un lien pour chaque enregistrement dans la liste qui devrait ouvrir une nouvelle fenêtre contenant les détails de l'enregistrement. J'ai essayé de mettre en œuvre le lien de cette façon:jsf, richfaces, fenêtre contextuelle

<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étail. La méthode recordDetail remplit les données de l'enregistrement sélectionné dans une variable du bean que je souhaite afficher sur la page de détails. Le problème est que keepalive ne fonctionne pas, donc je reçois une nouvelle instance de bean sur la page de détails à chaque fois. Ainsi, l'enregistrement précédemment sélectionné de l'autre bean n'est pas accessible ici. Existe-t-il un moyen de transmettre le paramètre (id) à la page de détails pour gérer la sélection d'enregistrements. Ou y a-t-il un moyen de faire fonctionner keepalive? (Je ceci ceci serait le plus facile).

Merci

Répondre

3

Évitez d'utiliser window.open(..) - il échouera sur la plupart des configurations du navigateur de nos jours (en raison de blocage des fenêtres pop-up). À la place, utilisez <rich:modalPanel>.

Questions connexes