Bugün birlikte Java Server Pages’ da bir rezervasyon kayıt sistemi yazacağız. Bu sayfası yazarken yapacaklarımızı üç farklı kod parçasında işleyeceğiz. Bunlardan ilki, rezervasyon yapmasını istediğimiz kişinin, rezervasyon sırasında kendisinden istenilecek olan bilgilerin tutulduğu java sınıfım. Bu sınıfın ismine ben ‘RezerveEdenler’ dedim. Şimdi bu sınıfımın kodunu inceleyelim

  1.  
  2. public class RezerveEdenler {
  3.  
  4. //Rezervasyonu yapan kişinin adını, soyadını ve kaç kişi kalacağını tutan –>
  5. // basit bir sınıf oluşturalım
  6.  private String ad;  
  7.  private String soyad;
  8.  private Integer kisiSayisi;
  9. //Bu sınıfın değişkenlerinin get() ve set() methodlarını oluşturalım..
  10.  public void setAd(String ad) {
  11.   this.ad = ad;
  12.  }
  13.  public String getAd() {
  14.   return ad;
  15.  }
  16.  public void setSoyad(String soyad) {
  17.   this.soyad = soyad;
  18.  }
  19.  public String getSoyad() {
  20.   return soyad;
  21.  }
  22.  public void setKisiSayisi(Integer kisiSayisi) {
  23.   this.kisiSayisi = kisiSayisi;
  24.  }
  25.  public Integer getKisiSayisi() {
  26.   return kisiSayisi;
  27.  }
  28.  
  29. }
  30. //Sınıfımızı oluşturduk, artık ne zaman RezerveEdenler Sınıfını çağırırsak –>
  31. //bize istediğimiz değişkenleri getirecektir..

Şimdi de yeni bir sınıf açacağız fakat bu sınıf aynı zamanda managed beans olarak faces-config.xml ‘e kaydetmemiz gerekmekte.

Faces-Config.xml ‘e, managed bean olarak oluşturacağımız sayfayı kaydediyor olmamızın sebebi, arayüz sayfamızın anlık bağlantı sınıflarından bir tanesi olmasıdır.

Bean sınıflarını ben diğer sınıflarla karışmaması için adını, IsimBean olarak kaydediyorum.

RezervasyonBean sınıfımız;

  1.  
  2. import java.util.ArrayList; //liste oluşturduğumuzda bunun tanınması için
  3. import java.util.List;  //liste oluşturduğumuzda bunun tanınması için
  4.  
  5.  
  6. public class RezervasyonBean {
  7.  
  8.  private RezerveEdenler RezerveEdenlerBilgi = new RezerveEdenler();
  9. //RezervasyonBilgi nesnesinden birtane oluşturuluyor..
  10.  private List<RezerveEdenler> RezerveEdenlerListesi = new ArrayList<RezerveEdenler>();
  11. //RezerveEdenler türünden olacak şekilde, bir liste oluşturuyoruz. Liste oluşturuyoruz çünkü rezervasyon
  12. //kayıtlarının tamamı bu listede sırasıyla tutulacak. Şuanda veritabanına bağlanmadığımız için
  13. //elimizdeki verileri tutabileceğimiz bir liste bu..
  14.  
  15.  public void kaydet(){
  16. //arayüzden RezervasyonBean'e gönderilen verileri kaydedilmesi için, kaydet() method'unun
  17. //çalıştırılması gerekmekte. Bu method çağrıldığında oluşturduğum listeye, add fonksiyonu
  18. //yardımıyla, RezerveEdenlerBilgi sınıfında oluşturulan içeriği ekliyoruz.
  19.   RezerveEdenlerListesi.add(RezerveEdenlerBilgi);
  20. //ekleme işleminden sonra, gelecek diğer değerler için yeni bir instance oluşturuyoruz..
  21.   RezerveEdenlerBilgi = new RezerveEdenler();
  22.  }
  23.  public void duzenle(){
  24.   RezerveEdenlerBilgi = new RezerveEdenler();
  25.  }
  26.  public void sil(){
  27. //silme işlemini de yine listeden yapmamız gerekmekte. listeden seçili olan nesneyi remove
  28. //fonksiyonu sayesinde siliyor ve sonrasında yeni bir instance oluşturuyoruz..
  29.   RezerveEdenlerListesi.remove(RezerveEdenlerBilgi);
  30.   RezerveEdenlerBilgi = new RezerveEdenler();
  31.  }
  32.  
  33. //buradan sonrası, oluşturduğumuz değişkenlerin get() ve set() methodları..
  34.  public void setRezerveEdenlerBilgi(RezerveEdenler rezerveEdenlerBilgi) {
  35.   RezerveEdenlerBilgi = rezerveEdenlerBilgi;
  36.  }
  37.  
  38.  public RezerveEdenler getRezerveEdenlerBilgi() {
  39.   return RezerveEdenlerBilgi;
  40.  }
  41.  
  42.  public void setRezerveEdenlerListesi(List<RezerveEdenler> rezerveEdenlerListesi) {
  43.   RezerveEdenlerListesi = rezerveEdenlerListesi;
  44.  }
  45.  
  46.  public List<RezerveEdenler> getRezerveEdenlerListesi() {
  47.   return RezerveEdenlerListesi;
  48.  }
  49.  
  50.  
  51. }

Son olarak size, arayüz sayfasının kodlarını vereceğim…

  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
  2. <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
  3. <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta httpequiv="Content-Type" content="text/html; charset=ISO-8859-1">
  8.  
  9. <title>Insert title here</title>
  10. </head>
  11. <body>
  12. <f:view>
  13.  <h:form>
  14.   <h:panelGrid columns="2">
  15.    Ad : <h:inputText value="#{rezervasyonBean.rezerveEdenlerBilgi.ad}" />
  16.    Soyad : <h:inputText value="#{rezervasyonBean.rezerveEdenlerBilgi.soyad}" />
  17.    Kişi Sayısı : <h:inputText value="#{rezervasyonBean.rezerveEdenlerBilgi.kisiSayisi}" />
  18.    <h:commandButton value="Kaydet" action="#{rezervasyonBean.kaydet}" rendered="#{rezervasyonBean.rezerveEdenlerBilgi.ad==null}" />
  19.    <h:commandButton value="Duzenle" action="#{rezervasyonBean.duzenle}" rendered="#{rezervasyonBean.rezerveEdenlerBilgi.ad!=null}"/>
  20.   </h:panelGrid>
  21.  </h:form>
  22.  <h:form>
  23.  
  24.   <h:dataTable value="#{rezervasyonBean.rezerveEdenlerListesi }" var="rez">
  25.    <h:column>
  26.     <f:facet name="header">
  27.      <h:outputText value="Sil" />
  28.     </f:facet>
  29.     <h:commandLink action="#{rezervasyonBean.sil}" value="Sil">
  30.      <f:setPropertyActionListener target="#{rezervasyonBean.rezerveEdenlerBilgi}" value="#{rez}" />
  31.     </h:commandLink>
  32.    </h:column>
  33.    
  34.    
  35.    <h:column>
  36.     <f:facet name="header">
  37.      <h:outputText value="Sec" />
  38.     </f:facet>
  39.     <h:commandLink value="Sec" >
  40.      <f:setPropertyActionListener target="#{rezervasyonBean.rezerveEdenlerBilgi }" value="#{rez}" />
  41.     </h:commandLink>
  42.    </h:column>
  43.    <h:column>
  44.     <f:facet name="header">
  45.      <h:outputText value="Ad" />
  46.     </f:facet>
  47.     <h:outputText value="#{rez.ad }" />
  48.    </h:column>
  49.    
  50.    <h:column>
  51.     <f:facet name="header">
  52.      <h:outputText value="Soyad" />
  53.     </f:facet>
  54.     <h:outputText value="#{rez.soyad }" />
  55.    </h:column>
  56.    <h:column>
  57.     <f:facet name="header">
  58.      <h:outputText value="Kisi Sayisi" />
  59.     </f:facet>
  60.     <h:outputText value="#{rez.kisiSayisi }" />
  61.    </h:column>
  62.  
  63.  
  64.  
  65.   </h:dataTable>
  66.  </h:form>
  67. </f:view>
  68. </body>
  69. </html>

Bu yazıyı beğendiniz mi ? :




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

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