Java Bean


Kawan BD kali ini kita membahas penulisan program Java Bean halnya tidak jauh seperti HTML dan harus mengetahui karakteristiknya dulu ya sudah langsung saja yaa sekidot......

Karakteristik Java Bean

API Java Bean merupakan standar format dari class java. Dengan adanya Java Bean, komponen dapat digunakan sewaktu-waktu untuk membangun program. Penulisan kelas Java Bean mempunyai aturan tertentu sebagai berikut:
a. Memiliki properti (variabel) dengan akses bukan public yang digunakan untuk menyimpan data.
b. Memiliki method get dan set (memberi dan mendapatkan properti dari bean).
c. Memiliki konstruktor kosong.

Berikut ini adalah langkah-langkah membuat kelas Java Bean:
  1.  Mendefinisikan variabel dalam bean yang akan kita buat. Variabel ini tidak boleh dideklarasikan public. Misal : private String nrp;
  2. Untuk masing-masing variabel dibuat metode get dan set. Misal : getNrp() dan setNrp() Untuk boolean, gunakan method setXxx() untuk mengeset nilai boolean dan isXxx yang mengembalikan nilai boolean Aturan membuat method:
public void set<namaVariabel>
public <tipe_variabel> get<namaVariabel>
public boolean is<namaVariabel>Menambahkan konstruktor kosong.
Berfungsi untuk inisialisasi


Membuat Java Bean

Memanggil javabean dalam halaman jsp memakai sintax:
<jsp:usebean id=”name” class=”package.Class”/>
Yang berarti pembuatan object class yang telah ditentukan dan dimasukkan ke dalam variable dengan nama yang ditentukan id.
Seumpama ada contoh sintax berikut :

<jsp:usebean id=”book1” class=”cwp.Book”/>

Secara normal hal sama dengan scriplet :

<% cwp.Book book1=new cwp.Book(); %>

Meskipun javabean ekivalen dengan membangun sebuah object, tapi dia mempunyai option tambahan yang membuatnya lebih powerfull. Kita dapat menentukan scope yang mendefinisikan ruang batas dari obyek yang akan dibuat. Bisa saja scope bukan hanya pada page ini saja, tapi bisa lebih jauh. Jika ini dapat dishare tentunya akan sangat berguna, jadi kita akan membuat object baru jika dan hanya jika tidak memang benar benar tidak ada yang id dan scopenya sama.

Mengambil Nilai Property Java Bean

Dalam beberapa kasus mungkin kita ingin variable lokal kita mempunyai tipe yang sama sebagai object yang dibuat. Cara pengaksesan javabean adalah memakai sintax jsp:getproperty. Contoh pengaksesan sbb :

<jsp:getProperty name=”book1” propery=”title” />

ekivalen dengan

<%= book1.getTitle() %>



Mengeset Nilai Property Java Bean

Untuk memodifikasi properti menggunakan sintax jsp:setProperty . Action ini mempunyai beberapa bentuk yang berbeda, tapi untuk yang paling simple perlu tiga attribut yaitu : name, property dan valuenya. Contoh sintax sederhananya adalah sbb :

<jsp:setProperty name=”book1” propery=”title” value=”Core Web Programming”/>

ekivalen dengan :

<%= book1.setTitle(“Core Web Programmming”) %>

Berikut ini adalah contoh sederhana Java Bean dengan JSP:


package coreservlets;
/** Contoh Java Bean dengan satu properti bertipe String
* yang bernama message
*/
public class StringBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}

Listing 4.1 StringBean.java


Dan pengaksesannya memakai JSP adalah sbb :

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      <HTML>
<HEAD>
                    <TITLE>Using JavaBeans with JSP</TITLE>
</HEAD>
<BODY>
                     <TABLE BORDER=5 ALIGN="CENTER">
                      <TR><TH CLASS="TITLE"> Using JavaBeans with JSP
</TABLE>
<jsp:useBean id="stringBean"
class="coreservlets.StringBean"/>
<OL>
<LI>Initial value (getProperty):
<I><jsp:getProperty name="stringBean"
property="message" /></I>
<LI>Initial value (JSP expression):
<I><%= stringBean.getMessage() %></I>
<LI><jsp:setProperty name="stringBean"
property="message"
value="Best string bean: Fortex" />
Value after setting property with setProperty:
<I><jsp:getProperty name="stringBean"
property="message" /></I>
<LI><% stringBean.setMessage("My favorite:
Kentucky Wonder"); %>
Value after setting property with scriptlet:
<I><%= stringBean.getMessage() %></I>
</OL>
</BODY>
</HTML>

Listing 4.2 File JSP untuk StringBean





Berikut ini adalah contoh program pemakaian set dan get properti javabean:
package coreservlets;
/** Bean sederhana untuk mengilustrasikan berbagai macam
* bentuk jsp:setProperty.
*/
                         public class SaleEntry {
                         private String itemID = "unknown";
                         private double discountCode = 1.0;
                         private int numItems = 0;
                         public String getItemID() {
                         return(itemID);
                  }
                          public void setItemID(String itemID) {
                          if (itemID != null) {
                           this.itemID = itemID;
                   } else {
                            this.itemID = "unknown";
                  }
              }
                              public double getDiscountCode() {
                              return(discountCode);
              }
                              public void setDiscountCode(double discountCode) {
                              this.discountCode = discountCode;
              }
                             public int getNumItems() {
                                     return(numItems);
                }
                                public void setNumItems(int numItems) {
                                this.numItems = numItems;
                }
                                   // Replace this with real database lookup.
                              public double getItemCost() {
                              double cost;
                             if (itemID.equals("a1234")) {
                               cost = 12.99*getDiscountCode();
                   } else {
                                 cost = -9999;
                }
                                return(roundToPennies(cost));
                }
                               private double roundToPennies(double cost) {
                                 return(Math.floor(cost*100)/100.0);
               }
                               public double getTotalCost() {
                               return(getItemCost() * getNumItems());
                }
                }

                                    

Dan pengaksesannya memakai JSP adalah sebagai berikut :

                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <HTML>
      <HEAD><TITLE>Using jsp:setProperty</TITLE>
        </HEAD>
          <BODY>
            <TABLE BORDER=5 ALIGN="CENTER">
            <TR><TH CLASS="TITLE">
             Using jsp:setProperty</TABLE>
           <jsp:useBean id="entry"
              class="coreservlets.SaleEntry" />
           <jsp:setProperty name="entry"
             property="itemID"
            value='<%= request.getParameter("itemID") %>' />
    <%
            int numItemsOrdered = 1;
             try {
             numItemsOrdered =
             Integer.parseInt(request.getParameter("numItems"));
            } catch(NumberFormatException nfe) {}
    %>
                 <jsp:setProperty name="entry"
                   property="numItems"
                   value="<%= numItemsOrdered %>" />
     <%
                      double discountCode = 1.0;
                      try {
                      String discountString =
                      request.getParameter("discountCode");
                      // Double.parseDouble not available in JDK 1.1
                      discountCode =
                      Double.valueOf(discountString).doubleValue();
                      } catch(NumberFormatException nfe) {}
    %>
                   <jsp:setProperty name="entry"
                      property="discountCode"
                      value="<%= discountCode %>" />
          <BR>
          <TABLE ALIGN="CENTER" BORDER=1>
          <TR CLASS="COLORED">
         <TH>Item ID<TH>Unit Price<TH>Number
            Ordered<TH>Total Price
         <TR ALIGN="RIGHT">
         <TD><jsp:getProperty name="entry"
                     property="itemID" />
          <TD>$<jsp:getProperty name="entry"
                        property="itemCost" />
          <TD><jsp:getProperty name="entry"
                       property="numItems" />
         <TD>$<jsp:getProperty name="entry"
         property="totalCost" />
         </TABLE>
      </BODY>
</HTML>

Cukup sekian ya kawan BD semoga bermanfaat jangan lupa cendol komen heheh

0 komentar:

Post a Comment