• Tidak ada hasil yang ditemukan

Java Server Pages(3) Pemrograman Lanjut

N/A
N/A
Protected

Academic year: 2021

Membagikan "Java Server Pages(3) Pemrograman Lanjut"

Copied!
10
0
0

Teks penuh

(1)

Java Server Pages(3) Pemrograman Lanjut

Praktikum 1.

Contoh penggunaan useBean, setProperty dan getProperty.

Buat package cwp. Simpan Pesan.java di package cwp. Simpan Pesan.jsp di process. Pesan.java

Pesan.jsp

Selanjutnya cobalah untuk membuat aplikasi yang mengakses data numerik (misal: int atau double)!

Atribut value pada <jsp:setProperty> digunakan untuk memberikan nilai yang bertipe String. Jika nilai pada value tersebut diberikan pada atribut numerik maka secara otomatis akan terjadi konversi nilai.

package cwp; public class Pesan{ private String message; public Pesan() {}

public void setMessage(String message) { this.message = message;

}

public String getMessage() { return(message); } } <HTML> <HEAD> <TITLE>JavaBean in JSP</TITLE> </HEAD> <BODY> <p>

<jsp:useBean id="coba" class="cwp.Pesan" /> <jsp:setProperty name="coba"

property="message" value="5" />

Mengambil nilai yang sudah di set sebelumnya:

<jsp:getProperty name="coba" property="message" />

</p> </BODY> </HTML>

(2)

Praktikum 2.

Contoh penggunaan useBean, setProperty dan getProperty serta penggunaan JSP exspression dan scriplet.

Jalannya program:

1. Dibuat bean dengan nama StringBean.

2. Mengambil nilai awal property message dengan menggunakan getProperty. (Perhatikan message di StringBean.java adalah merupakan instance variable). 3. Mengambil nilai awal property message dengan menggunakan JSP

exspression.

4. Mengeset nilai property message dengan menggunakan setProperty.

5. Mengambil kembali nilai property message dengan menggunakan getProperty setelah sebelumnya diset pada langkah 4.

6. Mengambil nilai property message dengan menggunakan scriplet.

Simpan StringBean.java di package cwp. Simpan JSP-Styles.css dan StringBean.jsp di process.

JSP-Styles.css package cwp;

/** A simple bean that has a single String property * called message.

*/

public class StringBean {

private String message = "No message specified"; public void setMessage(String message) {

this.message = message; }

public String getMessage() { return(message);

} }

<STYLE TYPE="text/css"> <!--

BODY { background-color: #FDF5E6 } A:hover { color: red }

H1 { color: #440000; text-align: center;

font-family: Arial Black, Arial, Helvetica, sans-serif }

H2 { color: #440000; text-align: left;

font-family: Arial, Helvetica, sans-serif }

(3)

StringBean.jsp

H3 { color: #440000; text-align: left;

font-family: Arial, Helvetica, sans-serif } UL { margin-top: 0; border-top-width: 0; padding-top: 0 } DT { font-weight: bold; } PRE { font-size: 105%; } CODE { font-size: 105%; } .TOC { font-size: 90%; font-weight: bold;

font-family: Arial, Helvetica, sans-serif }

TH.COLORED { background-color: #FFAD00 }

TR.COLORED { background-color: #FFAD00 }

TH.TITLE { background-color: #EF8429; font-size: 28px;

font-family: Arial, Helvetica, sans-serif; }

-->

</STYLE>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!--

Simple example of jsp:useBean and manipulating properties with jsp:setProperty and jsp:getProperty and

with explicit Java code in scriptlets and expressions. -->

<HTML> <HEAD>

<TITLE>Using JavaBeans with JSP</TITLE> <LINK REL=STYLESHEET

HREF="JSP-Styles.css" TYPE="text/css"> </HEAD>

<BODY>

<TABLE BORDER=5 ALIGN="CENTER"> <TR><TH CLASS="TITLE">

(4)

Praktikum 3.

Contoh penggunaan useBean, setProperty dan getProperty.

Perhatikan perubahan nilai instance variable count akibat dari proses-proses!

Simpan CounterBean.java di package com.chocolove. Simpan jsp_bean.jsp di process.

CounterBean.java /* paket dari class */ package com.chocolove; public class CounterBean {

int count = 3; /* nilai awal properti */ /* method untuk mengambil nilai properti */ public int getCount() {

return count; }

/* method untuk mengisi nilai properti */ public void setCount(int c) {

count = c; }

/* method untuk menaikkan nilai properti */ public int increaseCount() {

count++; return count; }

}

<jsp:useBean id="stringBean" class="cwp.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>

(5)

jsp_bean.jsp

Praktikum 2.

Praktikum 4. Menggunakan Java Bean dengan property=”*”

BeanMusik.java <html> <head> <title>JSP</title> </head> <body>

<jsp:useBean id="cacah" class="com.chocolove.CounterBean" scope="page">

Nilai awal, langsung dari Action getProperty tanpa set lewat JSP :

<jsp:getProperty name="cacah" property="count" /><br> <jsp:setProperty name="cacah" property="count" value="8" /> </jsp:useBean>

<%

out.print("Nilai setelah diset dengan setProperty : "+cacah.getCount());

cacah.setCount(5); cacah.increaseCount();

out.println("<br>");

out.println("Nilai setelah dicacah :"+cacah.getCount()); %>

<br>

Nilai dari Action getProperty :

<jsp:getProperty name="cacah" property="count" /><br>

</body> </html>

package cwp;

public class BeanMusik { private String nama; private String musik; public BeanMusik () {}

public void setNama(String nama) { this.nama = nama;

}

public String getNama() { return(this.nama); }

public void setMusik(String musik) { this.musik = musik;

}

public String getMusik() { return(this.musik); }

public String getKomentar() { String tmp;

tmp = "Hello, " + this.nama + "." + "Anda suka " + this.musik + ", ya?"; return(tmp);

(6)

TestBean.html

BeanMusik.jsp <HTML> <HEAD>

<TITLE>Tes Java Bean</TITLE> </HEAD>

<BODY>

<FORM ACTION="bean.jsp" METHOD="post"> Nama Anda:

<INPUT TYPE = "TEXT" NAME="nama"> <BR>

Musik yang Anda sukai:</TD> <SELECT NAME="musik"> <OPTION VALUE = "Jazz">Jazz <OPTION VALUE = "Rock">Rock <OPTION VALUE = "Dangdut">Dangdut <OPTION VALUE = "Klasik">Klasik

<OPTION VALUE = "Keroncong">Keroncong <OPTION VALUE = "Seriosa">Seriosa

</SELECT> <BR>

<INPUT TYPE="submit" VALUE="Kirim"> </FORM>

</BODY> </HTML>

<jsp:useBean id="beanMusik" class="cwp.BeanMusik" /> <jsp:setProperty name="beanMusik" property="*" /> <HTML>

<HEAD>

<TITLE>Java Bean</TITLE> </HEAD>

<BODY>

nama = <jsp:getProperty name="beanMusik" property="nama" /> <BR>

musik = <jsp:getProperty name="beanMusik" property="musik" /> <BR>

komentar = <jsp:getProperty name="beanMusik" property="komentar" />

</BODY> </HTML>

(7)

Praktikum 5.

SaleEntry class has an itemID property (a String), a numItems property (an int), a discountCode property (a double), and two read-only properties itemCost and totalCost (each of type double).

SaleEntry.java

SaleEntry1.jsp

package cwp;

/** Simple bean to illustrate the various forms * of 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;

}

// In real life, replace this with 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()); }

(8)

SaleEntry.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!--

Example of using jsp:setProperty with an explicit value supplied to the "value" attribute.

--> <HTML> <HEAD> <TITLE>Using jsp:setProperty</TITLE> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> <BODY>

<TABLE BORDER=5 ALIGN="CENTER"> <TR><TH CLASS="TITLE">

Using jsp:setProperty</TABLE>

<jsp:useBean id="entry" class="cwp.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>

(9)

Untuk menjalankan program akses url dengan cara sebagai berikut:

http://localhost:8080/process/SaleEntry1.jsp?itemID=a1234&numItems=11&discountCode=0.95 Perhatikan pada praktikum 5 diatas digunakan ekspresi JSP untuk memberikan nilai pada atribut value. Nilai yang diperoleh dari pengambilan parameter adalah bernilai String. Bagaimana bila nilai hasil pengambilan parameter tersebut akan diberikan pada atribut yang bertipe numerik? Diperlukan konversi tipe data seperti yang dicontohkan pada atribut discountCode dan numItems diatas.

Ingat method getParameter(String param) akan mengembalikan nilai String.

Praktikum 6.

SaleEntry2.jsp dan SaleEntry3.jsp adalah alternatif dari praktikum 5. Perhatikan bahwa pada alternatif ini tidak diperlukan konversi tipe data.

SaleEntry2.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!--

Example of using jsp:setProperty and an explicity association with an input parameter. See SaleEntry1.jsp

and SaleEntry3.jsp for alternatives. --> <HTML> <HEAD> <TITLE>Using jsp:setProperty</TITLE> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> <BODY>

<TABLE BORDER=5 ALIGN="CENTER"> <TR><TH CLASS="TITLE">

Using jsp:setProperty</TABLE>

<jsp:useBean id="entry" class="cwp.SaleEntry" /> <jsp:setProperty name="entry" property="itemID" param="itemID" /> <jsp:setProperty name="entry" property="numItems" param="numItems" />

<%-- WARNING! Both the JSWDK 1.0.1 and the Java Web Server have a bug that makes them fail on double

type conversions of the following sort. --%> <jsp:setProperty name="entry" property="discountCode" param="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>

(10)

SaleEntry3.jsp SaleEntry3.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!--

Example of using jsp:setProperty and a general association with the input parameters. See SaleEntry1.jsp

and SaleEntry2.jsp for alternatives. --> <HTML> <HEAD> <TITLE>Using jsp:setProperty</TITLE> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> <BODY>

<TABLE BORDER=5 ALIGN="CENTER"> <TR><TH CLASS="TITLE">

Using jsp:setProperty</TABLE>

<jsp:useBean id="entry" class="cwp.SaleEntry" />

<%-- WARNING! Both the JSWDK 1.0.1 and the Java Web Server have a bug that makes them fail on automatic

type conversions to double values. --%>

<jsp:setProperty name="entry" property="*" /> <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>

Referensi

Dokumen terkait

Hasil penelitian menunjukkan bahwa kecambah varietas Bhakti pada umur hari ketiga mengandung kadar protein dan aktivitas enzim α-amilase tertinggi dibanding

Peneliti melakukan penelitian di Desa Saba Padang Kecamatan Huta Bargot Kabupaten Mandailing Natal terhadap kandungan merkuri (Hg) pada bak pembuangan air

Transito Adiman Jati/Jashinta Maria

Kelompok ini harus representatif untuk mewakili responden, dan kriterianya sama dengan responden pada evaluasi satu-satu (Suparman, 2001). Evaluasi kelompok untuk tingkat

Skripsi ini disusun sebagai syarat yang harus dipenuhi untuk mendapatkan gelar Sarjana Ekonomi pada Fakultas Bisnis Jurusan Akuntansi Universitas Katolik Widya

Untuk lebih jelasnya, huruf-huruf yang dikeluarkan dari tenggorokan dapat dilihat pada gambar 2.1 berikut ini :.. Gambar 2.1 Makhorijul Huruf Tenggorokan

Tujuan dari penelitian ini adalah untuk menjawab pertanyaan mengenai strategi yang dipakai oleh 24 Mobile Spa menjemput bola calon pelanggannya lewat pengemasan pesan yang

Penilaian tingkat kesehatan untuk tahun 2014 yaitu berada dalam kategori “SEHAT” dengan predikat “AA” yang disebabkan nilai rasio Total Modal Sendiri terhadap Total