JSF de kayıtları listelemek için kullandığımız bir dataTable nesnesi
vardır. Genellikle bir parametreyi alır ve listeler.
Tabi bu listeleme işini yaparken neyi listelediğimize dikkat etmeliyiz.
Aşağıda bu kullanımı anlatan bir uygulama bulunmaktadır. Burada yapılan bir
formda ki inputText lere girilen değerlerin bir ArrayList dee tutulup ,kaydet butonuna basar basmaz
kaydettiğimiz tüm değerler liste halinde bize getirilmesidir.
Personel.java
package com.mesutemre;
import java.math.BigDecimal;
public class Personel {
String numarasi;
String adiSoyadi;
BigDecimal maasi;
int
yasi;
public
Personel(String numarasi, String adiSoyadi, BigDecimal maasi, int yasi) {
this.numarasi = numarasi;
this.adiSoyadi = adiSoyadi;
this.maasi = maasi;
this.yasi = yasi;
}
public
String getNumarasi() {
return
numarasi;
}
public
void setNumarasi(String numarasi) {
this.numarasi = numarasi;
}
public
String getAdiSoyadi() {
return
adiSoyadi;
}
public
void setAdiSoyadi(String adiSoyadi) {
this.adiSoyadi = adiSoyadi;
}
public
BigDecimal getMaasi() {
return
maasi;
}
public
void setMaasi(BigDecimal maasi) {
this.maasi = maasi;
}
public
int getYasi() {
return
yasi;
}
public
void setYasi(int yasi) {
this.yasi = yasi;
}
}
YonetimliBean.java
package com.mesutemre;
import
java.io.Serializable;
import
java.math.BigDecimal;
import
java.util.ArrayList;
import java.util.List;
import
javax.faces.bean.ManagedBean;
import
javax.faces.bean.RequestScoped;
@ManagedBean(name = "yb")
@RequestScoped
public class YonetimliBean implements
Serializable {
String adisoyadi, numarasi;
BigDecimal
maasi;
int yasi;
private static
List<Personel> personelListesi = new ArrayList<Personel>();
public String getAdisoyadi() {
return adisoyadi;
}
public void
setAdisoyadi(String adisoyadi) {
this.adisoyadi =
adisoyadi;
}
public String getNumarasi() {
return numarasi;
}
public void
setNumarasi(String numarasi) {
this.numarasi =
numarasi;
}
public BigDecimal getMaasi() {
return maasi;
}
public void
setMaasi(BigDecimal maasi) {
this.maasi =
maasi;
}
public int
getYasi() {
return yasi;
}
public void
setYasi(int yasi) {
this.yasi =
yasi;
}
public List<Personel> getPersonelListesi() {
return personelListesi;
}
public void
setPersonelListesi(ArrayList<Personel> personelListesi) {
this.personelListesi =
personelListesi;
}
public String kayitEkle() {
Personel personel = new Personel(this.adisoyadi,
this.numarasi,
this.maasi,
this.yasi);
personelListesi.add(personel);
this.adisoyadi =
"";
this.numarasi =
"";
this.yasi = 0;
this.maasi = null;
return "";
}
}
index.xhtml
<h:body>
<h:outputStylesheet library="css" name="table-style.css" />
<h:form>
<h:panelGrid columns="2" border="0">
<h:outputLabel value="NUMARASI:" />
<h:inputText value="#{yb.numarasi}" />
<h:outputLabel value="ADI SOYADI:" />
<h:inputText value="#{yb.adisoyadi}" />
<h:outputLabel value="YAŞI:" />
<h:inputText value="#{yb.yasi}" />
<h:outputLabel value="MAAŞI:" />
<h:inputText value="#{yb.maasi}" />
<h:outputLabel value="" />
<h:commandButton value="Ekle" action="#{yb.kayitEkle()}"
/>
</h:panelGrid>
<hr />
<h:dataTable value="#{yb.personelListesi}" var="p"
styleClass="personel-tablo"
headerClass="personel-tablo-baslik"
rowClasses="personel-tablo-tek-satir,personel-tablo-cift-satir">
<h:column>
<f:facet name="header">NUMARASI</f:facet>
#{p.numarasi}
</h:column>
<h:column>
<f:facet
name="header">ADI
SOYADI</f:facet>
#{p.adisoyadi}
</h:column>
<h:column>
<f:facet name="header">YAŞI</f:facet>
#{p.yasi}
</h:column>
<h:column>
<f:facet name="header">MAAŞI</f:facet>
#{p.maasi}
</h:column>
</h:dataTable>
</h:form>
</h:body>
Uygulamanın ekran çıktısı aşağıda ki gibi olur.
Hiç yorum yok:
Yorum Gönder