Bonjour,
je débute avec JBoss Seam (et en programmation Web en général), et je bloque sur un problème apparemment simple : la réutilisation de use-cases.
Je m'explique, avec un exemple : j'ai trois entités, mettons un Pays, une Région et une Personne.
Une personne est née dans un Pays, une Région fait partie d'un Pays.
On peut donc affecter un Pays à ces entités. Jusque-là, tout va bien.
Je veux aussi pouvoir créer un Pays qui n'est pas encore listé, à partir de la page d'édition de ces entités.
J'ai donc un bouton "créer pays" qui m'envoie sur le formulaire de création adéquate. Par contre, impossible de revenir au process appelant, c'est à dire soit à la page d'édition de la Personne, soit à celle de la Région.
Le bouton "créer" est cablé vers la méthode countryHome.create().
Cette méthode est taggée :Une méthode countryHome.end() enregistre la saisie et achève la conversation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part @Begin(nested=true)
Mon soucis est que si elle retourne une viewID, cette viewID est appelée et non celle de la conversation mère. Si je ne revoie rien, j'ai un simple refresh de la page courante, i.e. celle d'édition du pays.
L'utilisation de EndBeforeRedirect n'a pas eu d'effet, alors que la conversation parente aurait dû être réactivée, et donc remplacer la viewID courante.
Quelqu'un aurait-il une idée sur la bonne utilisation des conversations dans ce cas ?
Merci d'avance.
Note: l'exemple seam-issues fourni utilise les conversations "joined" et "nested", mais n'est pas documentée et trop complexe pour moi.
La documentation de référence n'est pas très bavarde sur le sujet ("ça marche tout seul").
Enfin, j'ai lu que Seam ne se souvient pas (encore) automatiquement de la dernière vue au lancement d'une conversation, si cette vue n'appartenait pas à une conversation. Mais ce n'est pas mon cas : mon appel est déjà (normalement) dans le cadre d'une conversation existante...
Vous pourrez trouver un exemple encore plus simple de mon propos sur http://www.malova.fr/musicdb
Il y a une page de liste de régions. Lorsqu'une région est éditée/créée, une conversation se lance et on peut ajouter un Pays. Lorsque le pays est ajouté, clicker sur "Done" renvoie à la liste des pays, et non à l'édition de notre région. Et je tiens à ce mode de fonctionnement, et non pas à "assurez-vous que le pays existe avant de créer une région". Ce serait à s'arracher les cheveux dans l'appli que je souhaite monter.
Merci pour votre aide,
Jean
Partager