Önceki yazımda bir form uygulaması yapıp JPA
kullanarak Database e kayıt atmıştık.Bu kayıtlar int,varchar
ve longblob
tipinde datalardı.
Bu yazımda kaydettiğimiz dataların ZK Frameworkünün Listbox componenti üzerinde nasıl
göstereceğimizi ele alacağım.
Şunu söylemeliyim ki data binding olayı ZK ya göre JSF
de daha esnek daha anlaşılır ve daha kolay.ZK nın bu işi daha
kolaylaştıracağını temenni ederek kodlamaya başlayalım.
kitapListesi.zul
<?page title="Kitap Listesi"
contentType="text/html;charset=UTF-8"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core"
prefix="c"?>
<zk>
<listbox id="kitapListBox"
emptyMessage="Kayıt yok!"
mold="paging" pageSize="4"
width="1000px"
checkmark="true" apply="com.mesutemre.kitapIslemleri.KitapListesiControl"
model="${win$composer.kitapListModel}">
<listhead>
<listheader width="32px"
/>
<listheader label="Kitap Adı"
align="center"
sort="auto(kitapad)" width="190px" />
<listheader label="Yazar Adı"
align="center"
sort="auto(yazarad)" width="190px" />
<listheader label="Kitap Tür"
align="center"
width="190px" sort="auto(kitaptur)"
/>
<listheader label="Kitap
Durum" align="center"
sort="auto(kitapdurum)" width="190px" />
<listheader label="Kitap
Resmi" align="center"
width="190px" />
</listhead>
<template name="model">
<listitem>
<listcell />
<listcell label="${each.kitapad}"
/>
<listcell label="${each.yazarad}"
/>
<listcell label="${each.kitaptur}"
/>
<listcell label="${each.kitapdurum}"
/>
<listcell>
<image content="${c:new2('org.zkoss.image.AImage','',each.kitapimage)}" />
</listcell>
</listitem>
</template>
</listbox>
</zk>
KitapListesiControl.java
public class KitapListesiControl extends
SelectorComposer<Component> {
private static final long serialVersionUID = 1L;
private List<Kitaplar>
kitapList = new
ArrayList<Kitaplar>();
private
ListModel<Kitaplar> kitapListModel;
@Wire
private Listbox kitapListBox;
@Wire
private Image kitapImageId = new Image();
KitapIslemleriDao
kid = new
KitapIslemleriDaoImpl();
@Override
public void
doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
kitapList = kid.findAllKitaplar();
kitapListModel = new
ListModelList<Kitaplar>(kitapList);
kitapListBox.setModel(kitapListModel);
}
public List<Kitaplar>
getKitapList() {
return kitapList;
}
public void
setKitapList(List<Kitaplar> kitapList) {
this.kitapList = kitapList;
}
}
DAO katmanında ki metodları bir önceki yazımda
gösterdiğim için burada tekrar yazmaya gerek duymadım.Ekran aşağıda ki gibi
olur.
Hiç yorum yok:
Yorum Gönder