27 Şubat 2015 Cuma

ZK FRAMEWORK İLE JPA KULLANIMI - 2

Ö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