juin
2008
Bonjour,
Dans le développement d’une application JSF, on a souvent besoin de récupérer un managed-bean qu’on appelera A dans un autre managed-bean qu’on appelera B.
JSF ne fournit malheureusement pas de solution élégante pour faire un truc pareil. Je ne dis pas que c’est pas possible, mais la façon de s’y prendre pour le faire est tellement moche et lourde que je ne vais même pas la montrer ici !
Ayant la chance de trvailler avec Spring, je vais plutôt vous montrer une autre façon tellement plus élégante de faire.
Voici donc la déclarartion du Bean A:
@Controller
@Scope("session")
public class BeanA {
}
Notez l’utilisation des annotations Spring @Controller pour exposer BeanA comme managed-bean ainsi que @Scope pour spécifier que c’est stocké en session.
Maintenant, voici le bean B:
@Controller
@Scope("session")
public class BeanB {
@Resource
private BeanA beanA;
}
Et hop !
Il suffit d’annoter le champ beanA par @Resource pour indiquer à Spring que c’est une dépendance et le tour est joué. Spring est assez malin pour injecter exactement le managed-bean de type BeanA figurant dans la même session.
Bonjour,
Oups, je parlais plutôt du BeanA. typo.
Merci.
Hello Djo.Mos
Qu’est ce que c’est que : « @Controller pour exposer LoginCtrl comme managed-bean ».
Je ne comprend pas à quoi correspond le LoginCtrl.
Merci d’avance!
Fabszn