Pertemuan 01: Pengenalan JavaServer Faces
Program Studi Sistem Informasi
Universitas Kristen Maranatha
© 2015 – Niko Ibrahim, MIT
Tujuan Perkuliahan
Mahasiswa memahami dasar-dasar JSF
Tag-tag JSF
Cara 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
To bring rapid user interface development to
serverside Java.
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 6.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.
2.
3.
Halaman JSF (file dengan ekstensi .xhtml)
Managed Bean (file .java, biasanya dipakai
untuk sinkronisasi data input/output)
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
2.
xmlns:h="http://java.sun.com/jsf/html"
Deklarasi Tag
3.
xmlns:f="http://java.sun.com/jsf/core">
4.
Merender
5. <f:view>
tampilan/view
6. <head>
7. <title>Hello JSF!</title>
8. </head>
9. <body>
HTML Form
10. <h:form>
11.
Please enter your name and password here <br/>
12.
Name: <h:inputText value="#{HelloBean.name}"/> <br/>
Field input
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.
xmlns:h="http://java.sun.com/jsf/html">
3. <h:head>
4.
<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 public class
Semua 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
getter/setter methods
8. public String getName() { return name; }
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 programming model
Component model
Aplikasi standar JSF terdiri dari:
Halaman JSF
Java/Managed Bean
File konfigurasi (optional)
What NeXT
Mengerjakan tutorial membuat aplikasi JSF
sederhana menggunakan NetBeans
Tutorial ini menggunakan JSF versi 2
Ikuti: Tutorial JSF Bagian 1.pdf