2011-02-08 3 views
0

Je développe un composant composite qui doit effectuer certains calculs pour que la mise en page fonctionne correctement. Les calculs qui sont complexes pour le EL (pas vraiment complexe mais je ne peux pas les réaliser via EL). Puis-je créer un ManagedBean spécifiquement pour ce composant composite? Il s'agit en fait de savoir si c'est une bonne pratique ou non, je suppose que je devrais essayer de nombreuses approches avant de recourir à un managedbean dédié aux composants. Si je le peux, comment le composant peut-il invoquer la logique du bean géré avant d'être rendu. Dites qu'il doit calculer la hauteur et la largeur d'un div interne basé sur un attribut. Est-ce que c'est possible? Je veux encapsuler toute la complexité de l'exécution de tels calculs etc. dans le composant.ManagedBean pour un composant composite

Répondre

1

Vous pouvez insérer votre logique dans le getter (ou le setter d'ailleurs) de votre variable.

Pour écrire votre sur le composant semble un peu juste pour effectuer un calcul.

A. Si vous avez besoin des paramètres de la page à calculer, passez alors à partir de la page.

B. utiliser ces paramètres soit dans une action invoquée avant de rendre ou dans le getter réelle de la variable

public int getCalculatedAttribute() { 
    return width*height-100; 
} 

une autre approche appellera une méthode sur une phase quelconque avant que la page ne soit rendue.

Questions connexes