Liaison de composant JSF sans propriété de bean
Comment fonctionne exactement suivants du code du travail:
#{aaa.id}
<h:inputText id="txt1" binding="#{aaa}"/>
Je veux dire que, généralement, le composant de liaison des œuvres, en spécifiant une propriété de type de composant UIComponent) dans un haricot. Ici, il n'y a pas de fève, ni les biens, mais néanmoins le nom "aaa" obtient lié correctement (affichage de l'id de composant - "txt1"). Comment ça marche/où est-il indiqué?
Grâce
Mise à JOUR: Le JSF2.0 Spec (Chapitre 3.1.5) dit: "Un composant de liaison est une valeur spéciale expression qui peut être utilisé pour faciliter le “câblage” une instance de composant à un
propriété correspondante d'un JavaBean... spécifiés ValueExpression doit pointer vers une lecture-écriture JavaBeans propriété de type de composant UIComponent (ou
la sous-classe appropriée)."
source d'informationauteur jarek.jpa
Vous devez vous connecter pour publier un commentaire.
Il a été mis en défaut EL portée lors de la construction de l'arbre d'affichage (c'est quand tous les
binding
attributs -- et les attributs de la balise gestionnaires comme JSTL<c:xxx>
et JSF<f:xxx>
-- sont en cours d'évaluation). Il est démontré par les normal de EL signifie que lors du rendu de la vue de l'arbre. Le rendu de la vue de l'arbre qui se passe après la construction de l'arbre d'affichage, de sorte qu'il fonctionne de cette façon. Ce n'est pas que l'exécution de ce code "ligne par ligne" que vous semble attendre de la source.Je ne peux pas le point de vous une référence unique où il a été spécifié qu'il n'y a aucun. Vous devriez lire à la fois le EL spec et JSF spec séparément et faire 1+1=2.
Par la manière, pour éviter la confusion parmi les nouveaux développeurs et d'éviter les affrontements avec les variables existantes dans le EL étendues, vous pouvez utiliser un
java.util.HashMap
à la demande de la portée qui est déclarée comme suit dansfaces-config.xml
:et est utilisé comme suit
qui est plus de l'auto-documentation.
Voir aussi: