Sebelum kita melangkah pada JSP forward, sebelumnya saya akan membahas sedikit tentang JSP. Apakah JSP itu? JSP (Java Server Pages) adalah bahasa scripting untuk web programing yang bersifat server side seperti halnya PHP dan ASP.
JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan servlet yang harus dikompilasi oleh user menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh user akan tetapi server yang akan melakukan tugasnya tersebut.
Setelah kita mengetahui sedikit apa itu JSP, selanjutnya saya akan mencoba untuk menerangkan tentang JSP forward, dan juga sample script coding yang digunakan.
Dalam pembahasan kali ini saya akan menggunakan 2 file jsp, yang pertama adalah home.jsp (home page), dan yang lainnya adalah hitung.jsp (forward page).
home.jsp
<%-- Document : home Created on : Apr 2, 2016, 11:01:14 AM Author : Bagus Dwiyanu --%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% String angka = request.getParameter("angka1"); if(angka != null) { %> <jsp:forward page="hitung.jsp"> <jsp:param name="nama" value="Bagus Dwiyanu" /> <jsp:param name="nim" value="1311510117" /> </jsp:forward> <% } else { %> <form action="home.jsp"> <table> <tr> <td>Input Angka 1</td> <td>:</td> <td><input type="text" name="angka1"></td> </tr> <tr> <td>Input Angka 2</td> <td>:</td> <td><input type="text" name="angka2"></td> </tr> <tr> <td><input type="submit" value="Cetak"></td> </tr> </table> </form> <% } %> </body> </html>
Penjelasan Penggalan Script
Disini script akan membaca sebuah string "angka" pada parameter "angka1" di home.jsp, apabila value "angka" sudah terisi (tidak kosong), maka home.jsp akan langsung mem-forward sebuah parameter ke hitung.jsp.
Contoh parameter disini yang akan diforward adalah :
nama parameter "nama" dengan value "Bagus Dwiyanu"
nama parameter "nim" dengan value "1311510117"
<% String angka = request.getParameter("angka1"); if(angka != null) { %> <jsp:forward page="hitung.jsp"> <jsp:param name="nama" value="Bagus Dwiyanu" /> <jsp:param name="nim" value="1311510117" /> </jsp:forward>
apabila string "angka" pada home.jsp belum terisi sebuah value (null), maka akan tampil form input pada home.jsp
<form action="home.jsp"> <table> <tr> <td>Input Angka 1</td> <td>:</td> <td><input type="text" name="angka1"></td> </tr> <tr> <td>Input Angka 2</td> <td>:</td> <td><input type="text" name="angka2"></td> </tr> <tr> <td><input type="submit" value="Cetak"></td> </tr> </table> </form>
hitung.jsp
<%-- Document : hitung Created on : Mar 26, 2016, 12:10:10 AM Author : Bagus Dwiyanu --%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <table> <tr> <td>Bilangan Prima</td> <td>:</td> <td> <% //out.print("Bilangan Prima :"+request.getParameter("angka1")); String a = request.getParameter("angka1"); String b = request.getParameter("angka2"); int min = Integer.parseInt(a); int max = Integer.parseInt(b); for(int i=min;i<=max;i++){ int x = 0; for(int j=2;j<=i;j++){ if(i%j==0){ if(i!=j){ x = 1; } if(x != 1 && i==j){ out.print(i+","); } } } } //out.print("Bilangan Prima : "+nilai); //out.print("Welcome "+request.getParameter("angka1")); %> </td> </tr> <tr> <td>Bilangan Fibonacci</td> <td>:</td> <td> <% //out.print("Bilangan Prima :"+request.getParameter("angka1")); String c = request.getParameter("angka1"); String d = request.getParameter("angka2"); int min1 = Integer.parseInt(c); int max1 = Integer.parseInt(d); int[] feb = new int[max1]; feb[0] = 0; feb[1] = 1; for(int i=2;i<max1;i++){ feb[i] = feb[i-1] + feb[i-2]; } for(int i=min1;i<max1;i++){ if(feb[i]>=min1 && feb[i]<max1){ out.print(feb[i] + " "); } } %> </td> </tr> <tr><td><br/></td></tr> <tr> <td>Nama : <%=request.getParameter("nama")%><td/> </tr> <tr> <td>NIM : <%=request.getParameter("nim")%></td> </tr> </table> </body> </html>
Penjelasan Penggalan Script
Script untuk get parameter yang sudah diforward oleh home.jsp adalah sebagai berikut
<tr> <td>Nama : <%=request.getParameter("nama")%><td/> </tr> <tr> <td>NIM : <%=request.getParameter("nim")%></td> </tr>
Tampilan home.jsp
Pada home.jsp ini hanya akan ada 2 inputan data saja (input data ini diperuntukan pada proses bilangan prima dan fibonacci), dan juga tombol submit.
Tidak ada input data "Bagus Dwiyanu" dan "1311510117" (parameter yg akan diforward)
Ketika form input sudah di isi, kemudian disubmit, pada hitung.jsp akan menampilkan proses bilangan prima, fibonacci, dan juga parameter yg sudah ter-forward.
Tampilan hitung.jsp
Demikianlah tutorial cara kerja JSP forward.
Semoga bermanfaat :)
Tidak ada komentar:
Posting Komentar