Amacımız, bir sınıftan bir bean sınıfına erişim sağlamak. Bunu yapabilmek için FacesAccessor sınıfımızı kullanmamız gerekmekte… FacesAccessor sınıfının implementasyonu aşağıdaki gibidir…

  1. public class FacesAccessor {
  2. public static Object getManagedBean(final String beanName) {
  3.     FacesContext fc = FacesContext.getCurrentInstance();
  4.     Object bean;
  5.    
  6.     try {
  7.         ELContext elContext = fc.getELContext();
  8.         bean = elContext.getELResolver().
  9.                getValue(elContext, null, beanName);
  10.     } catch (RuntimeException e) {
  11.         throw new FacesException(e.getMessage(), e);
  12.     }
  13.  
  14.     if (bean == null) {
  15.         throw new FacesException
  16.                 ("Managed bean with name '" + beanName
  17.             + "' was not found. Check your faces-config.xml"
  18.             + " or @ManagedBean annotation.");
  19.     }
  20.  
  21.     return bean;
  22. }
  23. }

Peki bu sınıfı nasıl kullanacağız ?
Örnek bir Bean Sınıfı hazırlayalım

  1. @ManagedBean(name = "beanAdi")
  2. public class OrnekBeanSinifi{
  3.     …
  4. }

Başka bir sınıftan bu bean sınıfına erişelim şimdi..

  1.     OrnekBeanSinifi beanAdi= (OrnekBeanSinifi)FacesAccessor.
  2.                               getManagedBean("beanAdi");

Bu kadar, artık istediğimiz bean sınıfına erişmiş olduk…



*** *** KANALIMIZA ABONE OLMAYI UNNUTMAYIN ** ***

*** *** KANALIMIZA ABONE OLMAYI UNNUTMAYIN *** ***