JavaBeans adalah kelas Java khusus, yang merupakan komponen yang dapat digunakan kembali, ditulis dalam bahasa Java dan mematuhi spesifikasi JavaBeans API.
Berikut ini adalah fitur unik JavaBean dibandingkan dengan kelas Java lainnya:
Berikan konstruktor tanpa argumen default.
Perlu diserialkan dan mengimplementasikan antarmuka Serializable.
Mungkin ada berbagai properti yang dapat dibaca dan ditulis.
Mungkin ada serangkaian metode "pengambil" atau "penyetel".
Properti objek JavaBean harus dapat diakses. Atribut ini dapat berupa tipe data Java legal apa pun, termasuk kelas Java khusus.
Properti objek JavaBean dapat berupa read-write, read-only, atau write-only. Properti objek JavaBean diakses melalui dua metode yang disediakan di kelas implementasi JavaBean:
metode | menggambarkan |
---|---|
dapatkan NamaProperti () | Misalnya, jika nama atributnya adalah MyName, maka nama metodenya harus ditulis sebagai getMyName() untuk membaca atribut tersebut. Metode ini disebut juga accessor. |
setPropertiNama () | Misalnya, jika nama atributnya adalah MyName, maka nama metodenya harus ditulis sebagai setMyName() untuk menulis atributnya. Cara ini disebut juga penulis. |
Properti read-only hanya menyediakan metode getPropertyName(), dan properti write-only hanya menyediakan metode setPropertyName().
Ini adalah file StudentBean.java:
paket com.tutorialspoint;kelas publik StudentsBean mengimplementasikan java.io.Serializable{ private String firstName = null; private String lastName = null private int age = 0; String getLastName(){ return lastName; } public int getAge(){ return age; } public void setFirstName(String firstName){ this.firstName = Namadepan; } public void setLastName(String lastName){ this.lastName = lastName; } public void setAge(Bilangan umur){ this.age = age;
Kompilasi file StudentBean.java, yang akan digunakan pada contoh terakhir bab ini.
Tag <jsp:useBean> dapat mendeklarasikan JavaBean di JSP dan kemudian menggunakannya. Setelah deklarasi, objek JavaBean menjadi variabel skrip dan dapat diakses melalui elemen skrip atau tag khusus lainnya. Format sintaksis tag <jsp:useBean> adalah sebagai berikut:
<jsp:useBean id="nama kacang" scope="cakupan kacang" typeSpec/>
Diantaranya, tergantung pada situasi spesifik, nilai cakupan dapat berupa halaman, permintaan, sesi, atau aplikasi. Nilai id bisa sembarangan asalkan tidak sama dengan nilai id di <jsp:useBean> lain di file JSP yang sama.
Berikut ini adalah penggunaan sederhana dari tag <jsp:useBean>:
<html><head><title>Contoh useBean</title></head><body><jsp:useBean id="date" /> <p>Tanggal/waktu adalah <%= tanggal %></body ></html>
Ini akan menghasilkan hasil sebagai berikut:
Tanggal/waktunya adalah Kam 30 Sep 11:18:11 GST 2013
Di badan tag <jsp:useBean>, gunakan tag <jsp:getProperty/> untuk memanggil metode pengambil, dan gunakan tag <jsp:setProperty/> untuk memanggil metode penyetel. Format sintaksisnya adalah sebagai berikut:
<jsp:useBean id="id" scope="bean's scope"> <jsp:setProperty name="bean's id" property="property name" value="value"/> <jsp:getProperty name="bean's id" properti ="nama properti"/> ...........</jsp:useBean>
Atribut name mengacu pada atribut id dari Bean. Atribut properti mengacu pada metode pengambil atau penyetel yang ingin Anda panggil.
Selanjutnya, diberikan contoh sederhana akses atribut menggunakan sintaks di atas:
<html><head><title>mendapatkan dan menyetel properti Contoh</title></head><body><jsp:useBean id="students" > nilai <jsp:setProperty name="students" property="firstName" ="Zara"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <jsp:setProperty name="students" property="age" value="10"/></jsp:useBean><p>Nama Depan Siswa: <jsp:getProperty name="students" property="firstName"/></p><p>Nama Belakang Siswa: <jsp: getProperty name="students" property="lastName"/></p><p>Usia Siswa: <jsp:getProperty name="students" property="age"/></p></body></html >
Tambahkan StudentBean.class ke variabel lingkungan CLASSPATH, lalu akses JSP di atas. Hasil yang berjalan adalah sebagai berikut:
Nama Depan Siswa: Zara Nama Belakang Siswa: Ali Usia Siswa: 10