Custom Converter dalam Java Server Faces 2


Java

Java

Salah satu kelebihan JSF (Java Server Faces) dibandingkan JSP (Java Server Pages) adalah, JSF memiliki custom converter, yaitu merupakan mekanisme untuk melakukan conversi tipe data secara otomatis. Dalam web, seluruh input data form itu berupa String, sedangkan kenyataannya tidak demikian, misal ada tipe data Integer, Boolean atau ada yang lebih kompleks seperti URL dan lain-lain. Pada artikel ini saya akan bahas tentang cara membuat Custom Converter untuk melakukan proses konversi nilai dari input form html (String) menjadi URL (java.net.URL).

Membuat Kelas Converter

Hal pertama yang perlu kita lakukan untuk melakukan proses konversi adalah membuat kelas converter, dimana pada artikel ini saya membuat sebuah kelas converter untuk melakukan konversi dari String ke URL. Baca lebih lanjut

Membuat Halaman Wizard Sederhana Menggunakan JSF (Java Server Faces) dan CDI (Context & Dependency Injection)


Java Technology

Java Technology

Bismillahirrahmanirrahim

Proses wizard adalah beberapa halaman yang digabungkan untuk membentuk satu alur proses, misal. Jika kita akan memasukkan data yang sangat banyak, biasanya kita memisahkan data tersebut menjadi beberapa bagian. Contoh saat kita akan memasukkan biodata pegawai, kita akan memasukkan data identitasnya terlebih dahulu, setelah itu memasukkan data akademik, data pengalaman kerja, dan lain-lain. Dari pada kita memasukkan datanya ke dalam satu halaman, lebih baik jika kita membaginya menjadi beberapa halaman.

Dalam proses wizard, artinya data pada halaman pertama harus dapat diakses pada halaman kedua dan halaman selanjutnya. Dalam web, biasanya data tersebut disimpan dalam sebuah HttpSession. Namun jika kita menggunakan HttpSession, maka data akan selalu sama dalam browser yang kita gunakan. Jika kita merubah data wizard di satu tab, maka data pada tab yang lain akan ikut berubah. Hal ini membuat kita tidak dapat menambah data secara sekaligus di beberapa tab.

Dalam kasus ini, kita dapat menggunakan @ConversationScope milik Context & Dependency Injection (CDI) yang tergabung dalam teknologi JEE 6. Untuk menggunakan CDI, kita hanya dapat menggunakannya pada Enterprise Application Server seperti Glassfish dan JBoss. Kita tidak dapat menggunakannya Servlet Container seperti Tomcat dan Jetty.

Untuk membuat sebuah ManageBean menggunakan @ConversationScope kita hanya perlu menambahkan @ConversationScope dalam kelas ManageBean yang kita gunakan, dan setelah itu menambahkan sebuah variabel Conversation menggunakan annotation @Inject. Baca lebih lanjut