2009-05-05 6 views
1

Je crée une application Web avec JSF et ICEFaces. J'ai maintenant intégré une applet Java dans l'une des pages JSF.Comment passer des données de JSF à une applet Java

La question est, comment puis-je transmettre des informations stockées dans le bean backing à l'applet? Je ne pense pas que j'aie besoin d'une communication bidirectionnelle. Je collecte des données à l'aide des composants d'entrée ICEFaces. Par exemple, en appuyant sur un bouton, l'applet doit recharger avec les données nouvellement collectées.

Merci

+0

Comment avez-vous réussi à intégrer une applet dans une page formée par JSF? Je l'ai cherché mais je ne pouvais pas trouver la bonne façon de le faire. –

Répondre

1

Eh bien à la fin je suppose que votre applet devrait représenter une sorte de vue de votre modèle. Donc, dans un contexte MVC, votre JSF serait votre vue/contrôle, et vous auriez un modèle backend. Votre applet est une autre vue de ce modèle. Votre applet doit donc être un observateur ou un écouteur sur votre modèle. Lorsque JSF apporte des modifications au modèle, vous devez déclencher un événement/notifier les observateurs représentant le changement de modèle.

+0

Merci pour la réponse, mais cela ne résout pas mon problème. Dans votre scénario, j'aurai besoin d'informations de JSF/Backing Bean à l'applet. C'est exactement ce que je ne sais pas comment faire ... – Toby

+0

Vous pouvez le faire via une connexion RMI. Mais comme vous le suggérez, il est également possible de le faire en appuyant sur un bouton, car les méthodes publiques des classes héritées de JApplet sont disponibles via javascript. Vous avez juste besoin de localiser l'élément DOM contenant votre applet, puis appeler une méthode pour l'actualiser. Par exemple. document.MyApplet.refresh() –

1

Quelque chose comme ce qui suit dans votre balise Applet?

<param name="welcomeMessage" value="<h:outputText value="#welcomeMessage"/>"> 

(Excusez toute inexactitude JSF)

Et puis utilisez getParameter comme d'habitude dans l'applet.