JavaServer Faces (JSF) adalah spesifikasi Java untuk membangun antarmuka pengguna untuk aplikasi web.[1] JSF merupakan bagian dari Java Platform, Enterprise Edition.
JSF 2 menggunakan Facelets sebagai sistem templat defaultnya. Teknologi tampilan lainnya, seperti XUL, juga dapat digunakan. Sementara itu, JSF 1.x menggunakan JavaServer Pages (JSP) sebagai sistem templat defaultnya.
Versioning JSF
- JSF 2.1 (2010-10-22) — Versi saat ini. Rilis kedua dari 2.0. Hanya sangat sedikit perubahan spesifikasi.[2]
- JSF 2.0 (2009-06-28) — Rilis untuk kemudahan penggunaan, peningkatan fungsi, dan performa. Bersamaan dengan Java EE 6.
- JSF 1.2 (2006-05-11) — Banyak perbaikan untuk inti sistem dan API. Bersamaan dengan Java EE 5. Awal adopsi ke Java EE.
- JSF 1.1 (2004-05-27) — Rilis perbaikan bug. Tidak ada perubahan spesifikasi.
- JSF 1.0 (2004-03-11) — Rilis spesifikasi awal.
Cara kerja
Javaserver Faces berdasarkan model perancangan antarmuka pengguna berbasis komponen, menggunakan berkas XML yang disebut templat view atau view Facelets. Permintaan (request) diproses oleh FacesServlet, yang memuat templat view yang sesuai, membangun tree komponen, memproses berbagai event, dan me-render respons (umumnya HTML) kepada klien. State dari komponen UI (dan beberapa objek lain) disimpan pada setiap akhir request (dinamakan stateSaving), dan dikembalikan pada saat pembuatan selanjutnya dari view tersebut. Ada beberapa jenis penyimpanan state, termasuk penyimpanan state client-side dan server-side.
Pengembangan terbaru
Facelets (yang sebelumnya dirancang secara khusus untuk JavaServer Faces) telah diadopsi menjadi teknologi view resmi untuk JSF 2.0. Ini menghilangkan konflik daur-hidup yang ada dalam JSP, dan mengharuskan pengembangannya ditangani oleh pengembang Java.[3] Facelets memungkinkan pembuatan komponen/tag secara mudah dengan tidak menggunakan kode Java melainkan menggunakan markah XML, untuk menanggapi keluhan tentang JSF 1.x.
Pengembangan JSF yang baru juga menyediakan aksesibilitas yang luas untuk notasi Java 5 seperti @ManagedBean, @ManagedProperty dan @FacesComponent yang menghilangkan perlunya faces-config.xml dalam semua ekstensi framework. Navigasi juga telah disederhanakan. Pergantian halaman dapat dilakukan dengan sederhana, dengan cara menuliskan nama View/Facelet yang diinginkan.
Penambahan Partial State Saving dan pemutakhiran DOM adalah bagian dari dukungan bawaan Ajax standar.
Rilis terbaru dari JSF telah mendukung penanganan sumber daya (resource) seperti gambar, CSS dan JavaScript, memungkinkan artifact dimasukkan dalam library komponen, memisahkan menjadi berkas JAR, atau meletakkan pada tempat yang konsisten pada aplikasi web. Termasuk penamaan logika dan versi dari sumber daya.
Referensi
Catatan
Pranala luar