03
Aralık

richfaces_logoJava’nın desktop tarafında her zaman yavaş olduğu söylenir. Bu söylentiye katılmamak elde değil. Çünkü zamanında swing kullanarak yapmış olduğum bir desktop application beni  fazlasıyla çıldırttı :)   Aslında yeni nesil makinelerde hergangi bir sorun yaşamıyorum JTable haricinde. JTable’a biraz yüklendiğiniz zaman afallıyo ve render süresi oldukça fazla sürüyor.  Java desktop tarafında zayıf olabilir ama web tarafında oldukça güçlü ve hızlıdır :) Java ‘da web araçlarının gelişim tarihinden girersek asıl konuya gelmemiz çok uzun sürebilir :) Onun için direk konuya girmek daha iyi olur diye düşünüyorum.

JSF java için geliştirilmiş  bir framework’dür. Model – View – Controller (MVC) yapısı ile yeni nesil standartlara göre web uygulaması geliştirmemizi sağlar.  Bünyesinde bulundurduğu bileşenler (DataTable, OutputText, SelectOneListbox vs. )  ile projeyi geliştirmemizde bir çok kolaylık sunar.

JSF her ne kadar kendi içerisinde bir çok bileşen barındırsada profesyonel bir proje geliştirirken bileşenleri yetersiz kalmakta. İşte bu anda yardımımıza 3. parti jsf kütüphaneleri yetişmekte. RichFaces, Icefaces ve yerli malı yurdun herkes onu kullanmalı PrimeFaces gibi bir çok 3. parti bileşen kütüphanesi bulunmakta. Bu kütüphaneler bize zengin bir bileşen topluğu sunarak projelerimizi geliştirmemizi sağlamaktadırlar.

Bu yazıda ve ardından gelecek olan yazılarımda richfaces bileşenlerinin kullanımı hakkında bilgiler vereceğim. Richfaces benim için jsf için yazılmış en iyi 3. parti kütüphanedir. Jboss firması tarafından opensource olarak geliştirilmekte ve ücretsiz dağıtılmaktadır.  Richfaces’ın en beğendiğim özelliği ise JSF Html bileşenler de dahil her türlü bileşene kolayca ajax desteği verebilmemiz. Bu sayede kullanıcılar ile etkileşimi oldukça iyi olan uygulamalar ortaya çıkartabiliyoruz.

Richfaces kütüphanelerini şu adresten en son stabil sürümünü indirebilirsiniz. Ben richfaces’ı seam ile beraber kullanıyorum. Yanlız yeni başlayanlar için seam hakkında da bilgi vermek gerektiğinden  jsf ( facelets)  ile beraber anlatacağım. IDE olarak kullanımı yeni arkadaşlara daha kolay geldiğinden Netbeans’i seçiyorum. Normal şartlarda Eclipse kullanmaktayım :)

Öncelikle netbeans’a facelets desteğini kazandırmak zorundayız. Bunun için netbeans için facelets eklentisini kurmamız gerekmekte. Netbeans 6.7.1 sürümünde Tools->Plugins penceresinde Available Plugins sekmesinde Facelets Support, bizi onu kurmamız için beklemekte. Facelets Support eklentisini kurduktan sonra artık yeni bir proje oluşturarak örneklerimize geçelim.

Netbeans başladıktan sonra File->New Project penceresinden Categories bölümünden Java Web’i seçiyoruz. Sonrasında yan taraftaki Projects bölümünden ise Web Application’ı seçerek Next butonuna basıp devam ediyoruz.

jsf_richfaces_1

Sıradaki penceremizde ise projemize bir isim vererek Next butonuna basıyoruz. Ben bu projeye yengec kod adını verdim :)

jsf_richfaces_2

3.  pencerede projenin çalışacağı server’ı seçmemiz isteniyor.

jsf_richfaces_3

4. pencere de ise projemizde kullanacağımız framework’leri seçmemiz isteniyor.  Burada Facelets ‘ı seçip finish butonuna basıyoruz.

jsf_richfaces_4

Evet artık bir java web projesi oluşturmuş durumdayız. Projemiz en yalın hali ile aşağıdaki gibi bir görüntü vermekte.

jsf_richfaces_5

Buraya kadar yaptığımızı özetlersek , netbeans’e facelets desteği kazandırdık ve facelets kullanarak bir proje oluşturduk. Herşeyin normal gittiğini test etmek için projemizi build edip (Kısayol Tuşu: F6) çalıştıralım. Eğerki herhangi bir sorun yok ise işletim sistemimizin default tarayıcısı çalışarak projemizi açacaktır.

jsf_richfaces_6

Sıra projemize jboss.org adresinden indirdiğimiz Richfaces kütüphanelerini dahil etmeye geldi. Ben richfaces-ui-3.3.2.SR1 versiyonunu indirdim. Zip dosyasını açtığımız zaman richfaces-ui-3.3.2.SR1\lib klasöründe  projemize dahil etmemiz gereken jar dosyaları bulunmakta. Proje ağacındaki Libraries’e sağ tıklayıp Add Jar /Folder seçeneğini seçiyoruz. Burada richfaces-ui-3.3.2.SR1\lib altındaki jar dosyalarını seçerek projemize dahil ediyoruz.

richfaces-api-3.3.2.SR1.jar

richfaces-impl-3.3.2.SR1.jar

richfaces-ui-3.3.2.SR1.jar

Projemize Richfaces kütüphanelerini dahil ettikten sonra sıra web.xml dosyasında richfaces için gerekli olan tanımlamaları yapmaya geldi. web.xml dosyasındaki </web-app> tagının hemen üstüne aşağıdaki kodları yapıştırıyoruz.

<!– BEGIN:RichFaces Tanımlamaları –>

<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>

<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>

<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>

<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>

<!– END:RichFaces Tanımlamaları –>

Artık projemize richfaces’ı da tanıtmış olduk. Şimdi buraya kadar herşeyin yolunda gidip gitmediğini kontrol etmek için bir deneme yapalım. Projemizi oluştururken bizim için otomatik olarak üretilmiş iki adet xhtml dosyası bulunmakta. Bunlardan bir tanesi şablon dosyamız olan template.xhtml, diğeri ise template-client.xhtml.

template.xhtml dosyası  Asp.net bilenler için masterpage benzeyen bir yapı diyebiliriz. Daha sonra daha detaylı olarak bu konuya değineceğim.  template-client.xhtml dosyasını açalım. Öncelikle richfaces için tanımlı olan prefix’leri eklememiz gerekmekte. Dosyamıza şu prefixleri ekliyoruz.

xmlns:f=”http://java.sun.com/jsf/core”
xmlns:rich=”http://richfaces.org/rich”
xmlns:a=”http://richfaces.org/a4j”

Şimdi basit bir test için <ui:define name=”body”> </ui:define> arasına aşağıdaki kodu yazıyoruz.

<rich:panel>
<f:facet name=”header”>Merhaba</f:facet>
Merhaba Dunya
</rich:panel>

Bu kod richfaces bileşenlerinden olan panel’in tanımlamasını yapıyor. Buraya kadar herşeyin doğru olup olmadığını kontrol için projemizi build edip çalıştırıyoruz.

jsf_richfaces_7

Evet gördüğünüz üzere buraya kadar herşeyi doğru bir şekilde tanımladığımızın kanıtı olarak sayfamızda richPanel güzel bir şekilde gözüktü.  Richfaces’ın kurulumu bu kadar. Bundan sonra facelets şablon yapısı ve richfaces bileşenleri ile devam edeceğiz.

Şu ana kadar yaptığımız tüm işlemlerin bulunduğu netbeans proje dosyasını buradan indirebilirsiniz.

“JSF ve Richfaces” için 1 Yorum

  1. [...] önceki yazımızda (JSF ve Richfaces) netbeans kullanıyorduk. Netbeans’e facelets desteği kazandırmıştık.  Şimdi bu [...]

Yorum yapın

Yorum yapabilmek için giriş yapmalısınız.

kamil örs Programlama ve hayata dair yazılar yazdığım bloguma hoş geldiniz. Adım Kamil. 23 yaşındayım. Yazılım geliştiricisiyim. Selçuk Üni. Bilgisayar Programcılığı bölümünden mezunum. Açık Öğretim İktisat Fakultesi 3. sınıf öğrencisiyim. Profesyonel hayatımda java ve php tabanlı yazılımlar geliştirmekteyim. Antalya'da bir turizm firmasında yazılım geliştirme uzmanı olarak çalışmaktayım.
Ara
Kategoriler & Arşiv
Haftanın Sözü
" önemli olan akıllı olmak değil, aklı yerinde ve zamanında kullanmaktır. "
Descartes
Özgürlük İçin Pardus!
Pardus... Özgürlük İçin... Pardus... Özgürlük İçin...