Phase kelime anlamı itibari ile, ‘aşama, faz,evra, safha’ anlamına gelmektedir. Sayfa çalışmadan önce, çalışma sırasında ve sonrasında yapılmasını istediğim işleri, evrelere yani ‘phase’lere ayırarak yapabiliriz.

Herhangi bir isimde, bir sınıf oluşturmamız gerekmekte lakin oluşturduğumuz bu sınıf PhaseListener Sınıfından implemente edilmeli. Yani aşağıdaki gibi bir sınıf tanımlaması yapmalıyız.

  1. public class PhaseList implements PhaseListener {
  2.  
  3. /***
  4. İçerik
  5. *****
  6. ****/
  7. }

PhaseListener sınıfı bize varsayılan olarak 3 tane metodu eklememizi isteyecektir. Bu metodlar, getPhaseId, beforePhase, afterPhase metodlarıdır.. Yani bize 3 aşama vermektedir. getPhaseId bulunduğum zamanı, beforePhase öncesi ve afterPhase ise sonrasıdır.

Hemen bir örnek kod ile açıklayalım..

  1. public class PhaseList implements PhaseListener {  
  2.  
  3.     public PhaseId getPhaseId() {
  4.         System.out.println("getPhaseId() Evresinde");
  5.         return PhaseId.RESTORE_VIEW;
  6.     }  
  7.  
  8.     public void beforePhase(PhaseEvent event) {
  9.         System.out.println("beforePhase() Evresinde ");
  10.     }  
  11.  
  12.     public void afterPhase(PhaseEvent event) {
  13.         System.out.println("afterPhase() Evresine geçildi..");
  14.         FacesContext fc = event.getFacesContext();
  15.         String page = fc.getViewRoot().getViewId();
  16.         HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
  17.         System.out.println("Session ID  = " +session.getId());
  18.         System.out.println("Bulunduğum Sayfa = "+page);  
  19.  
  20.     }
  21. }

Burada 3 evre için de metodların içleri doldurulmuştur… Fakat bu sınıfın çalışabilmesi için faces-config.xml ‘e de bir tanımlama yapmam gerekiyor. Gerekli olan tanımlamam ise

  1. <lifecycle>
  2.         <phase-listener>com.bit.util.userManagement.PhaseList</phase-listener>
  3. </lifecycle>

Dilerim yardımcı olabilmişimdir..
Dostlukla



*** *** Rica*** ***

Merhaba, cep telefonları için bir uygulama yazdım. Uygulamamın başarılı olması için onu android marketten indirir misiniz? Kesinlikle virüs ya da benzeri tehlikeler içermemektedir.
Aslında faydasız bir uygulama da değil. Allah korusun, acil durumlarda kan ararsanız eğer, şehre ve kan grubuna göre kan arama uygulaması. indirmek için lütfen : tıklayınız

*** *** Rica*** ***