J'ai une page xhtml avec une session scope backing bean. Maintenant, je dois ouvrir cette page dans un nouvel onglet avec le clic droit ouvrir le lien dans un nouvel onglet. Lorsque cette page s'ouvre, la classe de modèle du bean backing doit être effacée. J'ai utilisé le code suivant:ouvrir une page menuitem dans un nouvel onglet dans primefaces
<p:menuitem value="Details" action="#{beanMB.clearDetailModel()}"/>
sauvegarde code haricot:
public void clearDetailModel()
{
memberModel=null;
......
return "/pages/member/MemberDetails.xhtml?faces-redirect=true";
}
Le code ci-dessus efface le modèle scope de session, mais il ne pas ouvrir la page dans un nouvel onglet.
Existe-t-il une méthode pour ouvrir la page dans un nouvel onglet avec le code ci-dessus ou existe-t-il un moyen alternatif pour le problème ci-dessus? Toute aide serait appréciée. Merci.
Cela n'a pas fonctionné, j'ai besoin d'ouvrir la page avec le clic droit - ouvrir le lien dans un nouvel onglet. La fonction clearDetailModel() est appelée uniquement avec le clic gauche direct mais pas avec le clic droit - ouvrir le lien dans le nouvel onglet. – Kiran
Qu'est-ce que l'usecase? Si vous devez effacer un ** sessioscope ** d modèle lors de l'ouverture d'une page dans un nouvel onglet, vous avez un défaut de conception. Soit introduire un bean viewcoped ou même une portée de fenêtre (basée sur l'extension cdi) – Kukeltje
J'ai utilisé la portée de la session car j'ai besoin d'afficher une image dans le formulaire. Sans portée de session, l'image n'est pas affichée. – Kiran