2009-04-09 9 views
0

actuellement j'utilise déjà 1.1 specs, donc j'essaye de rendre simple ce qui est trop complexe pour moi: p, gérer des beans backing avec des règles de navigation conflictuelles, des params externes qui enfreignent les règles et ainsi de suite ... par exemple quand j'ai besoin d'un backing bean utilisé par d'autres "views" simplement je l'appelle en utilisant FacesContext dans d'autres beans backing, mais souvent il est trop connecté aux règles de navigation/initialisation JSF pour être vraiment utilisable, et bien sûr plus simple devient le FacesContext. Donc, avec un peu de Javascript croisé (simplement une copie de formulaire et une lecture-écriture sur un formulaire "proxy"), je crée une sorte de formulaire proxy dans la page utilisateur principale (totalement dissocié des règles de navigation JSF , mais en utilisant des taglibs JSF). Ajax me donne de la flexibilité sur l'interaction de l'utilisateur, mais les données sont toujours gérées par JSF. Pratiquement, je demande à toutes les actions "fictives" de l'utilisateur un "iframe" caché qui construit toutes les formes nécessaires selon les règles JSF, puis un javascript clone simplement sa sortie de formulaire et le place au niveau de la vue utilisateur (CSS pour montrer/cachant les vrais boutons de commande et rendant joli), l'utilisateur joue et quand il clique sur submit, un script copie toutes les valeurs de formulaire "proxy" dans le vrai formulaire JSF à l'intérieur du "iframe" qui invoque l'envoi réel du formulaire, ce qu'il retourne dépend évidemment de votre choix.Ajax et JSF 1.1 en utilisant l'iframe caché avec des "formulaires proxy", que pensez-vous de cette stratégie de développement?

Maintenant JSF est vraiment un plaisir :-p

Mon intérêt réel est de savoir quelles sont votre stratégie alternative pour l'utilisation de pur Ajax et JSF 1.1 sans adopter la couche intermédiaire comme Ajax4jsf et d'autres, tous les bons choix, mais aussi beaucoup de "plugins" que les spécifications.

Répondre

0

Ma suggestion est que vous jetez un oeil sur les frameworks Javascript, par exemple Prototype ou JQuery. Ils ont des fonctionnalités qui vous permettent de sérialiser les données de formulaire et de les envoyer au serveur en utilisant Ajax. Ensuite, vous pouvez obtenir la réponse et l'afficher sur la page Web. Jetez un oeil à Form.serialize et Ajax.Updater de Prototype. Je pense que c'est une façon plus simple de faire les choses que d'utiliser des iframes et des formulaires "proxy".

Supposons que vous ayez un formulaire et que vous souhaitiez l'envoyer au serveur et remplacer le formulaire par un extrait HTML du serveur. C'est une façon de le faire en utilisant Prototype:

new Ajax.Updater('divThatWrapsTheFormTag', 'someUrl', { 
    parameters: Form.serialize('formId') 
}); 
+0

Oui, c'est une idée, j'utilise jQuery pour d'autres projets web purs dans .NET/CFM/PHP, mais pour JSF j'ai opté pour la bibliothèque Yahoo Javascript, YUI –