JSF Managed Beans programmatisch instanziieren

Managed Beans werden vom JSF Laufzeitsystem automatisch instanziiert, wenn ein Value- oder Method-Binding angefordert wird. Setzt man Session- oder Application-Scope Managed Beans zum Beispiel als Pseudo Singleton ein, besteht häufig nicht die Notwendigkeit Attribute oder Methoden der GUI (also der Webseite) mit der Bean zu verknüpfen.
Um die Managed Bean trotzdem vom JSF Laufzeitsystem instanziieren zu lassen, genügt folgender Aufruf:

1
2
3
4
5
final ELResolver el = FacesContext.getCurrentInstance()
    .getApplication()
    .getELResolver();
final Object o = el.getValue(FacesContext.getCurrentInstance()
    .getELContext(), null, managedBeanName);

managedBeanName ist dabei der in faces-config.xml konfigurierte Name der ManagedBean.

DeliciousTwitterFacebookLinkedInRedditSlashdotTechnorati FavoritesDiggShare
This entry was posted in Java. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">