Ini berawal dari pekerjaan yang sebenarnya harus saya selesaikan beberapa bulan lalu (yang saya pending untuk menyelesaikan S2). Tidak terlalu diburu deadline tapi harus selesai. Jadi cocok untuk eksperimen hal yang baru
Saya ingin sekali membuat aplikasi web berbasis Java. Sebelumnya saya belajar PHP, sampai membuat sendiri framework MVC sederhana (tidak dari nol sih). Di Java saya pernah mencoba sekilas servlet dan JSP, kemudian men-debug aplikasi web Java yang cukup besar (servlet, JSP, taglib) buatan orang lain. Yang belum adalah mencoba sendiri salah satu framework.
Berdasarkan pencarian di internet, sepertinya ada dua framework yang paling populer, yaitu Spring dan Struts. Dari yang saya baca, Struts tampaknya merupakan perbaikan dari Spring, jadi saya tentukan akan menggunakan itu. Saya baca sekilas tutorialnya, tetapi saat saya akan membuat new project di Netbeans saya lihat ada opsi Java Server Face. Hmm kalau sampai menjadi bagian dari Netbeans pasti lumayan penting nih. Akhirnya saya coba lihat-lihat tutorial dan … sepertinya lebih menarik dari Struts
. Struts menurut saya (dari sudut pandang awam) sekilas seperti MVC biasa, sedangkan pada JSF yang menarik adalah sistemnya yang component based, event based dan statefull. Saya dulu adalah programmer Delphi (pernah jualan component juga), jadi wajar juga jika saya tertarik dengan konsep JSF ini.
Ada beberapa tutorial, tetapi menurut saya yang paling bagus adalah: http://www.ibm.com/developerworks/library/j-jsf1/ Dia membahas perbandingan JSF dengan Struts plus contoh software pada tutorialnya pas sekali. Tidak terlalu kompleks tapi juga tidak menggampangkan. Setelah baca tutorial ini Jadi lebih mantap belajar JSF
Berdasarkan apa yang saya baca, inti JSF mirip dengan dev. tools desktop seperti Delphi atau VB. Kita letakan komponen user interface, kemudian input/outputnya kita hubungkan dengan sumber data, sedangkan buttonnya kita hubungkan dengan method yang akan menangani event “onclik”. Saat “button” ditekan, sumber data kita manipulasi dan otomatis komponen di layar yang terhubung dengan sumber data tersebut (Label) akan menampilkan hasilnya. Bagi pengembang aplikasi dekstop hal ini sangat intuitif ‘kan?
Di JSF, sumber data ini disebut Managed Bean. Jika kita menggunakan Netbeans meletakan UI-nya jelas tidak semudah IDE Delphi, menghubungkan komponen dengan sumber data dan event handler juga harus dilakukan secara manual. Tapi ini sudah lebih baik menurut saya.
Untuk selanjutnya saya perlu baca lebih detil lagi, tutorial J2EE di Sun sepertinya bagus. Bab 18-21 membahas JSF secara lebih detil. Baca dulu ah, nanti akan saya lanjutkan
–update 1 sep 08 — Tutorial Sun ternyata tidak terlalu bagus, sekarang saya sedang mencoba membuat aplikasi guestbook. Kena bug “Cannot find FacesContext “, ternyata jangan lupa tambahkan path /faces pada saat mengeset URL untuk run. Bug kedua “Target Unreachable”: Disebabkan karena saya me-rename nama bean, walaupun sudah dengan refaktor ternyata tetap harus me-rename secara manual di faces-config.xml –
– update 2 sep 08 –
Buku tamu saya menggunakan satu page, di atas input dan di bawah adalah daftar tamu beserta komentar berbentuk tabel. Untuk sementara tidak menggunakan database, karena saya pikir beans di JSF persistent. OK, jadi ada dua beans, satu TamuBeans untuk input dan DaftarBeans untuk isi tabel. Saat user submit, action-nya adalah “DaftarBeans.tambahTamu”. Nah, masalahnya bagaimana DaftarBeans mengambil data TamuBeans? Setelah googling ternyata bisa melalui injected bean. Jadi faces.config.xml-nya dibuat sbb:
<managed-bean>
<managed-bean-name>TamuBean</managed-bean-name>
<managed-bean-class>com.yuliadi.bukutamu.TamuBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>DaftarTamu</managed-bean-name>
<managed-bean-class>com.yuliadi.bukutamu.DaftarTamu</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>currentTamu</property-name>
<value>#{TamuBean}</value>
</managed-property>
</managed-bean>
Scope juga harus dibuat jadi “session”, karena jika menggunakan “request” maka DaftarTamu seperti dicreate ulang untuk setiap submit. Untuk menampilkan info mengenai dataTable tag dapat dilihat di http://www.roseindia.net/jsf/dataTable.shtml, tapi array di contoh tersebut saya ganti dengan List. Tahap berikutnya saya akan mencoba koneksi dengan database.
—
Tags: java





20 Oktober 2008 pada 7:41 pm
bookmark dulu bos,…
20 Desember 2008 pada 7:24 am
mas, klo nyetting jsf di ubuntu 8.10 gimana caranya?
22 Desember 2008 pada 5:59 pm
bukannya sudah otomatis disediakan netbeans? saya sih menggunakan yang sudah disediakan netbeans.
28 Desember 2008 pada 11:16 pm
Pak, bukannya Sping itu sebagai Ioc, jadi bukannya Struts dan Spring itu saling melengkapi?
3 Februari 2009 pada 5:32 am
@ata, nggak ngerti juga
Belum pernah nyoba soalnya
3 Februari 2009 pada 5:36 am
@mr x yang sudah memberikan komentar: saya terbuka dengan kritik, dan kritik anda sebenarnya bagus. Tapi karena ditulis dengan tidak sopan dan tidak beradab (dan yang menulis anonim), terpaksa saya moderasi. Saran saya: Berhenti dulu mrogram sejenak dan nikmati hidup dulu deh anda nampaknya terlalu stress
12 Maret 2009 pada 4:31 pm
Jadi JSF itu sederhananya apa? Boleh dikata begini kah:
Netbeans + JSF = IDE mirip Delphi for PHP ?
12 Maret 2009 pada 6:41 pm
JSF tidak harus menggunakan netbeans. Netbeans cuma IDE saja. Setahu saya sih, JSF itu sekedar framework untuk membuat aplikasi web.
6 Mei 2009 pada 12:51 am
wah penjelasannya padat dan jelas, jadi bersemangat pengen melejarin tutorialnya JSF nih, sebelumnya saya nyoba EJB tapi terlalu enterprise banget jadi jatuhnya cuman sampe JB(java Bean). kalu sempat ngasih artikel EJB juga donk. ditunggu
6 Mei 2009 pada 5:03 am
@arif: makasih, tentang EJB, nanti kalau ada waktu
27 Mei 2009 pada 7:24 pm
mas minta ada g buku or bahan yang lengkap saolnya aq lg ngerjain TA eksplorasi JSF tapi masih bingung?coz emang baru coba Java..
makasih
29 Mei 2009 pada 10:40 am
mas aku butuh ttg jsf donk,,tp yg bener dari basic bgt,,soalnya baru mo bljr nih,,thnx
5 Juni 2009 pada 1:16 pm
Salam kenal pa Yudi,
Ketika di jakarta dulu saya tertarik banget pake jsf, tapi mungkin karena faktor umur yang sudah cape coding lagi, sy develope pake framework adf faces buatan oracle punya, developement nya cepet, tinggal drag n drop saja. Yang menariknya ADF Faces ini based on JSF juga, jadi bisa dibilang pengembangan dari JSF karena sudah dilengkapi ajax. Sedangkan untuk layer business logic nya, dia pake Business Compoenent (BC), mirip kayak hibernate+ibatis. tutorialnya oke kok, ini linknya http://www.oracle.com/technology/pub/articles/adf-from-design-to-reality/index.html.
Pa Yudi ada di bandung ya? sy juga lagi di bandung nih , jadi implementator telco di telkom bandung japati.
5 Juni 2009 pada 4:33 pm
@papa dina: makasih infonya. JSF ini memang saya rasa belum mature, entah kalau sekarang.
Saya di Bandung mas, dulu saya pernah kerja praktek di sisfo telkom japati juga. Kapan-kapan mohon share ilmunya di kampus saya mas, supaya mahasiswa dapat pencerahan tentang dunia kerja
8 Juni 2009 pada 3:17 pm
pak saya mau membuat project jsf pake netbeans tapi untuk plugin instalasi facelet caranya gimana y pak?soalnya error terus pas abiz di aad plugin kemudian dia g mau pesan errorna gini pak:
Missing required modules for Plugin Facelets Support:
module org.netbeans.api.java.classpath/1 > 1.0 Java Support APIs [module org.netbeans.api.java/1 > 1.18] module org.netbeans.modules.editor.deprecated.pre61completion/0-1 > 1.0 module org.netbeans.modules.editor.deprecated.pre61settings/0-1 > 1.0 JSP Editor [module org.netbeans.modules.web.core.syntax/2] JSP Parser [module org.netbeans.modules.web.jspparser/3]
Missing required modules for Plugin Simple JSF/Facelets Snippets:
module org.netbeans.modules.editor.deprecated.pre61completion/0-1 > 1.0 module org.netbeans.modules.editor.deprecated.pre61settings/0-1 > 1.0 JSP Editor [module org.netbeans.modules.web.core.syntax/2]
trus bapak punya contoh aplikasi JSF pake netbeans+facelets ga??
trus ada referensi tempat kursus framework, khususnya JSF yg bagus dimana untuk daerah bandung?
terimakasih pak..
27 September 2009 pada 5:01 pm
saya suka artikel ini. tapi saya berterimakasih jika dikasih juga tutorial dari 0. dari cara install barangkali, sampai dengan membuat satu simple application. thanks
27 Oktober 2009 pada 9:58 am
Keren Bukannya JSF Berat pak kompiku pak arep meledak nih