Question

J'ai 2 liens dans une page web, lien une pinte à appserver /? = 1 département, lien est deux appserver /? Dept = 2. Ensuite, j'ai un auditeur de phase JSF, là-bas, je peux obtenir le grain de fin arrière et ensemble dept1 ou dept2 comme paramètre de haricot, afin de rendre un contenu différent du département. Si l'utilisateur démarre 2 fenêtres de la page Web ci-dessus, le contenu de la fenêtre dept1 peut aller à la fenêtre dept2. Tout foiré. (Remarque, si vous lancez le navigateur de bureau haut raccourci, tapez liens ci-dessus, pas de problème, puisque 2 session sera créé, 2 différentes instances de haricot d'arrière-crated).

La raison principale est le haricot arrière du magasin JSF à la session, donc deux fenêtres de la même fenêtre parent partagé le même identifiant de session (cookies), puis ont utilisé la même extrémité arrière instance de classe de haricots. Au moment du rendu de résultat, le résultat peut aller à l'une des fenêtres.

Comment puis-je éviter cette fenêtre la situation croix de contenu? Cela semble un problème d'application web fondamentale qui devrait être résoudre il y a longtemps. Ou je pourrais faire des choses vraiment mal.

J'ai essayé la conversion de couture, aucune aide, JSF2.0 a une portée de vue, CDO. la dose elle peut aider? Nous ne pouvons pas passer à JSF2.0 encore en raison de diverses raisons. J'utilise java6, Tomcat6.20, Icefaces. Toute aide est appropriée.

Était-ce utile?

La solution

Dans 1.x JSF, votre meilleur pari est Tomahawk < a href = "http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_saveState.html" rel = "nofollow"> <t:saveState> . Il suffit de le mettre dans la page où le grain scope requête spécifiée doit être conservée dans la demande ultérieure qui est tirée par la même page, quel que soit l'onglet du navigateur / fenêtre.

<t:saveState value="#{bean}" />

Il agit comme le champ de vue JSF 2.0.

Autres conseils

votre problème peut facilement être résolu en utilisant des conversations de couture, vous pouvez regarder les exemples viennent avec le paquet de couture. vous devez changer votre soutien champ de haricots à la conversation à partir des paramètres de session et la page d'utilisation. couture aussi dans le livre d'action explique ce cas d'utilisation avec des exemples très agréable et de courte durée.

Jetez un oeil à MyFaces Orchestra .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top