2010-04-26 4 views
1

Je n'ai jamais créé de composants personnalisés dans JSF donc je n'ai remarqué que maintenant que des méthodes comme encodeBegin(), encodeEnd() etc. acceptent le paramètre FacesContext. Instance peut généralement être reçu avec FacesContext.getCurrentInstance().Pourquoi les méthodes encodeXxx dans UIComponent acceptent-elles le paramètre FacesContext?

Donc, je me demande si ces méthodes ont FacesContext paramètre juste pour la commodité ou certains objets différents peuvent être passés là (peut-être à partir de ressources externes ..). Si ce dernier est possible alors pourriez-vous donner un exemple de pls.

Répondre

3

Ils peuvent être exécutés dans un thread différent. FacesContext#getCurrentIsntance() peut seulement être retourné à partir du thread qui est exécuté par la requête HTTP car il est stocké en tant que variable ThreadLocal.