Bahasa Ekspresi dalam JSP

Apa itu Bahasa Ekspresi (EL)?

Expression Language (EL) adalah mekanisme yang menyederhanakan aksesibilitas data yang disimpan di dalamnya Java komponen kacang dan objek lain seperti permintaan, sesi dan aplikasi, dll.

Ada banyak operator di JSP yang digunakan dalam EL seperti operator aritmatika dan logika untuk melakukan suatu ekspresi. Operator ini diperkenalkan di JSP 2.0

Sintaks JSP Bahasa Ekspresi (EL)

Sintaks EL :$(ekspresi)

  • Di JSP, apa pun yang ada di dalam kurung kurawal akan dievaluasi saat runtime dan dikirim ke aliran keluaran.
  • Ekspresi tersebut merupakan ekspresi EL yang valid dan dapat dicampur dengan teks statis serta dapat digabungkan dengan ekspresi lain untuk membentuk ekspresi yang lebih besar.

Untuk mendapatkan gambaran yang lebih baik tentang cara kerja ekspresi di JSP, kita akan melihat contoh di bawah ini. Dalam contoh ini, kita akan melihat bagaimana EL digunakan sebagai operator untuk menambahkan dua angka (1+2) dan mendapatkan output masing-masing.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP1</title>
</head>
<body>
<a>Expression is:</a>
${1+2}; 
</body>
</html>

Penjelasan Kode:

  • Baris Kode 11: Expression Language (EL) diset dimana kita menjumlahkan dua angka 1+2, sehingga akan menghasilkan output sebagai 3.

Ketika Anda mengeksekusi kode di atas, Anda akan mendapatkan Output berikut.

Keluaran:

Bahasa Ekspresi JSP

  • Ekspresinya adalah: 3 (Karena angka 1+2 akan ditambahkan dan dijadikan sebagai output)

Pernyataan Kontrol Aliran:

JSP menyediakan kekuatan Java untuk ditanamkan ke dalam aplikasi. Kita dapat menggunakan semua API dan blok penyusunnya Java in Pemrograman JSP termasuk pernyataan aliran kontrol yang mencakup pengambilan keputusan dan pernyataan loop.

Ada dua jenis pernyataan kontrol aliran yang dijelaskan di bawah ini;

  1. Pernyataan Pengambilan Keputusan
  2. Pernyataan Loop

Pernyataan Pengambilan Keputusan:

Pernyataan pengambilan keputusan di JSP didasarkan pada apakah kondisi yang ditetapkan benar atau salah. Pernyataan tersebut akan berperilaku sesuai.

Ada dua jenis pernyataan pengambilan keputusan yang dijelaskan di bawah ini:

  1. Jika – lain
  2. saklar

JSP If-else

Pernyataan “Jika lain” adalah dasar dari semua pernyataan aliran kontrol, dan memberitahukan program untuk mengeksekusi bagian kode tertentu hanya jika pengujian tertentu bernilai benar.

Kondisi ini digunakan untuk menguji lebih dari satu kondisi apakah kondisi tersebut benar atau salah.

  • Jika kondisi pertama benar maka “jika blok” dijalankan dan
  • jika salah maka “blok lain” dijalankan

Sintaks untuk pernyataan if – else:

If(test condition)
{
	 //Block of statements    
}
else
{
    //Block of statements
}

Dalam contoh ini, Kita akan menguji kondisi “if else” dengan mengambil variabel dan memeriksa nilainya jika variabel tersebut cocok dengan yang diinisialisasi:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP2</title>
</head>
<body>
<%! int month=5; %>
<% if(month==2){ %>
<a>Its February</a>
<% }else{ %>
<a>Any month other than February</a>
<%} %>
</body>
</html>

Penjelasan kodenya:

  • Baris Kode 10: Variabel bernama bulan diinisialisasi ke 5 dalam tag ekspresi
  • Baris Kode 11: Di tag EL ada “kondisi if” yang menyatakan jika bulan sama dengan 2 (kondisi diuji di sini benar atau salah)
  • Baris Kode 12: Jika kondisinya benar yaitu variabel bulan adalah 2 maka akan dicetak ke aliran keluaran
  • Baris Kode 13-15: Jika kondisi if di atas gagal maka kondisi tersebut akan berpindah ke bagian lain untuk semua kasus lainnya di mana pernyataan akan dicetak ke aliran keluaran dan kondisi ditutup

Ketika Anda mengeksekusi kode di atas, Anda akan mendapatkan Output berikut.

Keluaran:

JSP If-else

  • Karena bulan yang kita miliki adalah 5 yang tidak sama dengan #2 (Februari). Oleh karena itu, kita memiliki output “Bulan apa pun selain Februari” (bulan disebutkan sebagai 5 maka yang lainnya dieksekusi)

Saklar JSP

Badan pernyataan switch disebut sebagai “blok switch”.

  • Switch case digunakan untuk memeriksa jumlah kemungkinan jalur eksekusi.
  • Switch dapat digunakan dengan semua tipe data
  • Pernyataan switch berisi lebih dari satu kasus dan satu kasus default
  • Ini mengevaluasi ekspresi lalu mengeksekusi semua pernyataan mengikuti huruf besar/kecil yang cocok

Sintaks untuk pernyataan switch:

switch (operator)
{
   Case 1:
       Block of statements
break;
   Case 2:
      Block of statements
break;


case n:
    Block of statements
break;
default:
  Block of statements
break;
}
  • Blok saklar dimulai dengan satu parameter, yaitu operator yang harus dilewati dan
  • Lalu ada kasus berbeda yang memberikan kondisi dan mana saja yang cocok dengan operator kasus tersebut akan dieksekusi.

Dalam contoh di bawah ini, Kami telah mendefinisikan variabel minggu, dan itu dicocokkan dengan kasus mana pun yang benar. Dalam hal ini, minggu adalah 2 maka 2nd case cocok, dan hasilnya adalah hari Selasa:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP3</title>
</head>
<body>
<%! int week=2; %>
<% switch(week){
case 0:
    out.println("Sunday");
    break;
case 1:
    out.println("Monday");
    break;
case 2:
    out.println("Tuesday");
    break;
case 3:
    out.println("wednesday");
    break;
case 4:
    out.println("Thursday");
    break;
case 5:
    out.println("Friday");
    break;
    default:
        out.println("Saturday");
    }
%>
</body>
</html>

Penjelasan Kode:

  • Baris Kode 10: Variabel bernama minggu diinisialisasi ke 2 dalam tag ekspresi
  • Baris Kode 11: Dalam tag EL, kasus saklar dimulai di mana minggu dilewatkan sebagai parameter
  • Baris Kode 12 – 29: Semua kasus telah disebutkan mulai dari kasus 0 hingga kasus 5 di mana nilai parameter minggu disesuaikan dengan kasusnya, dan karenanya keluarannya adalah cetak. Dalam hal ini nilainya adalah 2 maka kasus 2 akan dieksekusi dalam kasus ini. Di sini “out” adalah kelas JSP yang menulis aliran keluaran untuk respons yang dihasilkan dan “println” adalah metode kelas tersebut.
  • Baris Kode 30-32: Jika semua kasus di atas gagal maka pernyataan akan berpindah ke bagian default dan akan dieksekusi, di mana pernyataan akan dicetak ke aliran keluaran dan kondisi ditutup

Ketika Anda mengeksekusi kode di atas, Anda akan mendapatkan Output berikut.

Keluaran:

Saklar JSP

  • Output dalam kasus ini adalah Selasa sebagaimana kasus ke-2 dipanggil.

Pernyataan Loop

JSP Untuk lingkaran

Ini digunakan untuk mengulangi elemen untuk kondisi tertentu, dan memiliki tiga parameter.

  • Penghitung variabel diinisialisasi
  • Kondisi sampai loop harus dieksekusi
  • Penghitung harus ditingkatkan

Untuk Sintaks perulangan:

For(inti=0;i<n;i++)
{
           //block of statements
}

Dalam Contoh ini, Kita memiliki perulangan for yang berulang hingga penghitung lebih kecil dari angka yang diberikan:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP4</title>
</head>
<body>
<%! int num=5; %>
<% out.println("Numbers are:"); 
for(int i=0;i<num;i++){
    out.println(i);
}%>
</body>
</html>

Penjelasan untuk kodenya:

  1. Baris Kode 10: Variabel bernama “num” diinisialisasi ke 5 dalam tag ekspresi
  2. Baris Kode 11-14: Dalam tag EL, “out” adalah kelas JSP dan “println” adalah metode out yang mencetak aliran output dan loop for dimulai yang memiliki tiga parameter:
    • Variabel i diinisialisasi ke 0,
    • Kondisi diberikan jika i lebih kecil dari jumlah variabel lokal,
    • Dan i bertambah setiap kali loop diulang.

Di badan “forloop”, terdapat kelas JSP yang mencetak ke aliran keluaran menggunakan metode println di mana kita mencetak variabel i.

Ketika Anda mengeksekusi kode di atas, Anda akan mendapatkan Output berikut.

Keluaran:

JSP Untuk lingkaran

  • Keluaran Numbers adalah 0 1 2 3 4. Dalam contoh ini, kita memberikan kondisi bahwa sampai counter kurang dari sama dengan suatu variabel, “for loop” harus dieksekusi. Jumlahnya 5 sehingga loop akan dimulai dari 0 dan berjalan sampai 4 (5 kali). Oleh karena itu outputnya.

JSP Sementara perulangan

Ini digunakan untuk mengulangi elemen dimana ia memiliki satu parameter kondisi.

sintaks:

While(i<n)
{
      //Block of statements
}

Dalam contoh ini, Kita memiliki loop while yang akan berulang hingga hari lebih besar dari sama dengan penghitung:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP5</title>
</head>
<body>
<%! int day=2; int i=1; %>
<% while(day>=i){
    if(day==i){
        out.println("Its Monday");
        break;}
    i++;}
%>

</body>
</html>

Penjelasan kodenya:

  • Baris Kode 10: Variabel bernama i diinisialisasi ke 1 dan hari adalah 2 dalam tag ekspresi
  • Baris Kode 11-17: Pada tag EL, terdapat “ while loop” yang akan diulang sampai kita mempunyai kondisi yang ditetapkan seolah-olah hari lebih besar atau sama dengan variabel i akan benar. (hari>=i)Di dalamnya ada “kondisi if” (hari sama dengan i) dan “jika kondisi” benar maka ia akan mencetak aliran keluaran, dan akan keluar dari perulangan while jika tidak, variabel i bertambah dan loop berulang.

Ketika kita mengeksekusi kode tersebut, kita akan mendapatkan output berikut

Keluarannya adalah:

JSP Sementara perulangan

  • Output dari kode ini adalah “nya Monday".

JSP Operatorso

JSP Operators mendukung sebagian besar operator aritmatika dan logika yang didukung oleh Jawa dalam tag bahasa ekspresi (EL). Operator yang sering digunakan disebutkan di bawah ini:

Berikut ini adalah operatornya:

. Akses properti kacang atau entri Peta
[] Akses elemen array atau Daftar
() Kelompokkan subekspresi untuk mengubah urutan evaluasi
+ Tambahan
- Pengurangan atau negasi suatu nilai
* Perkalian
/ atau div Divisi
% atau mod Modulo (sisa)
== atau persamaan Uji kesetaraan
!= atau tidak Uji ketidaksetaraan
< atau lt Uji kurang dari
> atau gt Uji lebih dari
<= atau le Uji kurang dari atau sama
>= atau ya Uji lebih besar dari atau sama dengan
&& atau dan Uji logika AND
|| atau atau Uji logika OR
! atau tidak Komplemen Unary Boolean
Empty Uji nilai variabel kosong

Dalam contoh ini,

  • Kita mendeklarasikan dua variabel num1 dan num2 lalu mengambil variabel num3, dimana kita menggunakan operator JSP + by untuk menjumlahkan num1 dan num2 dan mendapatkan num3.
  • Kemudian kita cek kondisi apakah angka3 tidak sama dengan 0 dengan menggunakan operator JSP (!= , >) dan
  • Kemudian ambil variabel lain num4 dengan mengalikan dua num1 dan num2 kita mendapatkan num4.

Semua angka ini harus dicetak sebagai keluaran kita:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP6</title>
</head>
<body>
<% int num1=10; int num2 = 50;
   int num3 = num1+num2;
   if(num3 != 0 || num3 > 0){
       int num4= num1*num2;
       out.println("Number 4 is " +num4);
       out.println("Number 3 is " +num3);
    }%>
</body>
</html>

Penjelasan kodenya:

  • Baris Kode 10: Variabel bernama num1 diinisialisasi menjadi 10 dan num2 menjadi 50 dalam tag ekspresi
  • Baris Kode 11: Variabel num3 adalah penjumlahan dari num1 dan num2 dimana kita menggunakan operator penjumlahan
  • Baris Kode 12-16: Pada tag EL, kami telah menggunakan kondisi OR yaitu operator logika dan operator aritmatika untuk memeriksa apakah angka3 lebih besar dari 0 pada kondisi if. OR digunakan ketika salah satu kondisi benar, dalam hal ini ia akan masuk ke “if case” di mana kita mengalikan dua angka “num1” dan “num2” dan mendapatkan output dalam “num4″ dan itu akan mencetak aliran output.

Ketika Anda mengeksekusi kode di atas, Anda akan mendapatkan Output berikut.

Keluaran:

JSP Operatorso

  • Output pertama adalah Angka 4 adalah 500 (variabel num4 yaitu num1*num2)
  • Output kedua adalah Angka 3 adalah 60 (variabel angka3 yaitu angka1+angka2)

Kesimpulan

  • JSP Expression Language (EL) memudahkan aplikasi mengakses data yang disimpan dalam komponen javabeans.
  • Hal ini juga memungkinkan membuat ekspresi yang bersifat aritmatika dan logis.
  • Dalam tag EL, kita dapat menggunakan bilangan bulat. Angka floating point, string, dan nilai Boolean.
  • Di JSP kita juga bisa menggunakan loop dan pernyataan pengambilan keputusan menggunakan tag EL