Pertemuan 01: Pengenalan JavaServer Faces BS 503 – PEMROGRAMAN WEB LANJUT Program Studi Sistem Informasi Universitas Kristen Maranatha © 2016 – Niko Ibrahim, MIT Tujuan Perkuliahan Mahasiswa memahami dasar-dasar JSF Tag-tag Cara JSF kerja Managed Bean Konfigurasi JSF (faces-config.xml) Konfigurasi aplikasi web (web.xml) Mahasiswa mampu membuat aplikasi sederhana menggunakan JSF Materi Pembahasan Latar belakang lahirnya JSF Struktur aplikasi JSF Tutorial sederhana Referensi: Core JAVASERVER™ FACES 3rd Edition, David Geary, Cay Horstmann, Prentice Hall, 2010 Easy development vs Attractive Platform Microsoft ASP.NET menyediakan fasilitas RAD (Rapid Application Development) melalui visual studio Java EE terkenal sebagai platform yang high scalable, multiplatform, lots of vendor support. Namun, masih menganut style “hard-core coding” The promise of JSF Menyediakan pengembangan user interface secarra cepat untuk aplikasi Java berbasis server. JSF dapat dianalogikan sebagai “Swing untuk aplikasi web” JSF menyediakan suatu framework untuk melakukan page-navigation, validasi data, konversi data, dll JSF memungkinkan developer untuk menggunakan tools (IDE) dalam mendesain secara visual maupun coding biasa. JSF merupakan bagian standar dari Java EE 3 Bagian Utama dari JSF Berbagai komponen user interface siap pakai (button, panel, data grid, tree, menu, dll) Event-driven programming model Component model yang memungkinkan thirdparty developer menyediakan komponen tambahan Tools & Library required JDK 7.0 or higher Library JSF 2 GlassFish Application Server NetBeans 8 IDE Struktur Direktori applikasi JSF Aplikasi JSF dideploy sebagai file WAR (zip file dengan ekstensi .war) dan memiliki struktur standar sbb: Bagian Dasar Aplikasi JSF 1. Halaman JSF (file dengan ekstensi .xhtml) 2. Managed Bean (file .java, biasanya dipakai untuk sinkronisasi data input/output) 3. Konfigurasi JSF (faces-config.xml) 4. Navigation rule Pendefinisian managed bean, dll. Konfigurasi Servlet (web.xml) PEMBAHASAN BAGIAN-BAGIAN JSF 1. Halaman JSF Halaman JSF berfungsi sebagai antarmuka aplikasi (frontend). Biasanya memiliki ekstensi .jsp atau .jsf atau .xhtml Harus memiliki deklarasi tag yang akan digunakan pada halaman JSF tsb. Contoh: <html xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> Contoh Halaman JSF (index.xhtml) 1. <html xmlns=http://www.w3.org/1999/xhtml Deklarasi Tag 2. xmlns:h="http://java.sun.com/jsf/html" 3. xmlns:f="http://java.sun.com/jsf/core"> 4. 5. <f:view> Merender 6. <head> tampilan/view 7. <title>Hello JSF!</title> 8. </head> 9. <body> 10. <h:form> HTML Form 11. Please enter your name and password here <br/> Field input 12. Name: <h:inputText value="#{HelloBean.name}"/> <br/> 13. Password: <h:inputSecret value="#{HelloBean.password}"/> <br/> 14. <h:commandButton value="Login" action=“output"/> Button 15. </h:form> 16. </body> 17. </f:view> 18. </html> Halaman JSF (continue) Name: <h:inputText value="#{HelloBean.name}"/> <br/> #{HelloBean.name} menyambungkan halaman JSF ke sebuah objek Java yaitu: objek HelloBean, dan property name <h:commandButton value="Login" action=“output"/> action=“output” menyatakan bahwa apabila tombol ini diklik maka akan memanggil response page yaitu “output.xhtml” Halaman JSF (output.xhtml) 1. <html xmlns="http://www.w3.org/1999/xhtml" 2. 3. 4. xmlns:h="http://java.sun.com/jsf/html"> <h:head> <title>Facelet Title</title> 5. </h:head> 6. <h:body> 7. Selamat Anda telah berhasil membuat aplikasi Web menggunakan JSF<br/> 8. Berikut data Anda: <br/> 9. Name: <h:outputText value="#{HelloBean.name}"/> <br/> 10. Password: <h:outputText value="#{HelloBean.password}"/> <br/> 11. </h:body> 12. </html> Java Bean & Managed Bean Java Bean adalah suatu class Java biasa yang memiliki aturan penulisan tertentu/baku, di antaranya yaitu: Merupakan Semua public class property memiliki private scope Akses terhadap property dilakukan melalui getter/setter method Managed Bean adalah suatu class Java Bean yang digunakan untuk me-manage data input/output yang ada di dalam halaman JSF Contoh Managed Bean: HelloBean.java Nama package 1. package com.pwl; 2. Nama Bean 3. public class HelloBean { 4. private String name; Property 5. private String password; 6. 7. // PROPERTY: name 8. public String getName() { return name; } getter/setter methods: 9. public void setName(String newValue) { name = newValue; } 10. 11. // PROPERTY: password 12. public String getPassword() { return password; } 13. public void setPassword(String newValue) { password = newValue; } 14. } Pendefinisian Managed Bean @ManagedBean (name="HelloBean") public class HelloBean {….} Pemanggilan managed bean pada index.xhtml: Name: <h:inputText value="#{HelloBean.name}"/> <br/> Password: <h:inputSecret value="#{HelloBean.password}"/> <br/> Penggunaan Tools / IDE JSF didesain sedemikian rupa agar kita dapat memanfaatkan tools/IDE dalam men-develop aplikasi. Dengan menggunakan IDE, kita dapat mendesain secara visual maupun coding biasa Beberapa tools yang dapat digunakan: NetBeans Eclipse Exadel Studio JBoss Developer Studio IntelliJ IDEA, dll. Library JSF – third party RichFaces: http://www.richfaces.org IceFaces: http://www.icefaces.org PrimeFaces: http://www.primefaces.org MyFaces: http://myfaces.apache.org Kesimpulan Dengan menggunakan JSF, kita dapat memadukan antara kemudahan dalam membuat aplikasi dan kehandalan Java EE JSF merupakan framework pengembangan aplikasi Web yang menyediakan: Sekumpulan komponen user interface Event-driven Component programming model model Aplikasi standar JSF terdiri dari: Halaman JSF Java/Managed File Bean konfigurasi (optional) What Next ? Mengerjakan tutorial membuat aplikasi JSF sederhana menggunakan NetBeans Tutorial ini menggunakan JSF versi 2 Ikuti: Tutorial JSF Bagian 1.pdf Waktu: 30 menit