2012-09-01 3 views
2

Comment puis-je accéder à un bean géré JSF ViewScoped à partir d'une servlet?Accéder au bean géré JSF ViewScoped à partir du servlet

(On suppose que le bean géré en question a déjà été créé, et toujours pas été détruite)

+0

Si vous avez besoin d'accéder à la fève en dehors de sa portée, cela indique qu'elle n'a pas été correctement définie. – McDowell

+0

Dans la mesure où la page correspondante est en ligne, le bean ViewScoped est en ligne, alors pourquoi ne puis-je pas appeler une servlet depuis cette page? – siva636

+0

voir ma réponse ci-dessous – McDowell

Répondre

4

variables Voir scope sont stockés dans le view map sur l'arborescence des composants. Pour accéder à ces données en dehors du contexte de vue, vous devrez create a JSF context et restore the view pour la demande. Cela implique de réécrire la plupart des fonctionnalités fournies par le JSF container. JSF 2 fournit des mécanismes d'interaction avec l'état côté serveur sans rafraîchissement de la page: AJAX tags et JSF JavaScript API

Je chercherais à les utiliser si possible.

Vous pouvez également placer les données dans un champ qui est facilement accessible par les servlets (la session).

Depuis l'état d'affichage est généralement tenue à la séance, il est probable techniquement possible d'accéder à l'état d'affichage de ici. Mais cela impliquerait des hacks spécifiques à l'implémentation qui pourraient ne pas survivre à une mise à niveau du framework sous-jacent. Je ne considérerais même pas cela comme une solution.

Questions connexes