Instanciation des managed-beans
Bonjour à tous :)
Je voulais savoir s'il y avait plusieurs façons de faire pour l'instanciation des managed-beans dans une application web qui utilise JSF.
D'habitude, j'utilise cette méthode:
Si un bouton Btn me fait passer d'une page A --> B en générant un message M comme outcome, j'utilise une méthode d'un bean de la même page qui contient ce bout de code:
Code:
1 2 3 4 5
| FacesContext ctx = FacesContext.getCurrentInstance();
VariableResolver resolver = ctx.getApplication().getVariableResolver();
// création du backing bean
ExempleBean projets = (ExempleBean) resolver.resolveVariable(ctx, "ExempleBean"); |
et je le complète avec un:
pour le passage vers la page suivante.
1 - Je voulais savoir s'il y avait d'autres méthodes plus propres ou meilleures pour le faire, mettre à chaque fois mes beans dans le contexte m'a semblé un peu tiré par les cheveux :aie:
2 - Et aussi autre chose, est-il mieux de déclarer mes beans dans le fichier faces-config.xml en utilisant la balise <managed-bean> ou plutot utiliser une annotation @ManagedBean("NomDuBean") dans la déclaration de la classe correspondant au Bean ?
3 - Et pour finir une question de terminologie,est ce que:
Managed-Bean == Bean == BackingBean ??
J'ai trouvé 3 noms pour (presque) une même utilisation, je sais pas si l'utilisation des beans pour la récupération des valeurs d'un formulaire OU pour stoker les valeurs issus de la couche persistance en implémentant l'interface serializable reste dans le cadre de l'appellation Bean ou s'il y a une différence entre les deux.
Merci d'avance pour vos réponses :ccool: