Jezik izražavanja u JSP-u

Što je Expression Language (EL)?

Expression Language (EL) mehanizam je koji pojednostavljuje dostupnost podataka pohranjenih u Java bean komponenta i drugi objekti poput zahtjeva, sesije i aplikacije itd.

Postoje mnogi operatori u JSP-u koji se koriste u EL-u poput aritmetičkih i logičkih operatora za izvođenje izraza. Predstavljen je u JSP 2.0

JSP sintaksa jezika izražavanja (EL)

Sintaksa EL :$(izraz)

  • U JSP-u, sve što se nalazi u vitičastim zagradama procjenjuje se tijekom izvođenja i šalje u izlazni tok.
  • Izraz je važeći EL izraz i može se miješati sa statičnim tekstom i može se kombinirati s drugim izrazom kako bi se formirao veći izraz.

Da bismo dobili bolju predodžbu o tome kako izraz funkcionira u JSP-u, vidjet ćemo primjer u nastavku. U ovom primjeru ćemo vidjeti kako se EL koristi kao operator za zbrajanje dva broja (1+2) i dobivanje izlaza.

<%@ 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>

Objašnjenje koda:

  • Redak koda 11: Jezik izražavanja (EL) je postavljen tako da zbrajamo dva broja 1+2, stoga će dati izlaz kao 3.

Kada izvršite gornji kod, imat ćete sljedeći izlaz.

Izlaz:

JSP Expression Language

  • Izraz je: 3 (Brojevi 1+2 će se zbrajati i služiti kao izlaz)

Izjave o kontroli toka:

JSP pruža moć Java biti ugrađen u aplikaciju. Možemo koristiti sve API-je i građevne blokove Java in JSP programiranje uključujući izjave o tijeku upravljanja koje uključuju donošenje odluka i izjave petlje.

Postoje dvije vrste izjava o kontroli protoka koje su opisane u nastavku;

  1. Izjave o donošenju odluka
  2. Izjave petlje

Izjave o donošenju odluka:

Izjava o donošenju odluka u JSP-u temelji se na tome je li postavljeni uvjet istinit ili lažan. Izjava će se ponašati u skladu s tim.

Postoje dvije vrste izjava o donošenju odluka koje su opisane u nastavku:

  1. Ako – inače
  2. prebaciti

JSP If-else

Naredba "If else" osnovna je od svih naredbi tijeka kontrole i govori programu da izvrši određeni dio koda samo ako se određeni test ocijeni istinitim.

Ovaj se uvjet koristi za testiranje više od jednog uvjeta jesu li istiniti ili lažni.

  • Ako je prvi uvjet istinit, tada se izvršava “if block” i
  • ako je false tada se izvršava “else block”.

Sintaksa za if – else naredbu:

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

U ovom primjeru, testirat ćemo uvjet "if else" uzimajući varijablu i provjeravajući vrijednost odgovara li varijabla onome što je inicijalizirano:

<%@ 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>

Objašnjenje koda:

  • Redak koda 10: Varijabla pod nazivom mjesec inicijalizirana je na 5 u oznakama izraza
  • Redak koda 11: U EL oznakama postoji "uvjet ako" koji navodi da ako je mjesec jednak 2 (uvjet se ovdje testira kao istinit ili netočan)
  • Redak koda 12: Ako je uvjet istinit da je varijabla mjesec 2 tada će se ispisati u izlazni tok
  • Redak koda 13-15: Ako gornji if uvjet ne uspije, premjestit će se na else dio za sve ostale slučajeve u kojima će se izjava ispisati u izlazni tok i uvjet je zatvoren

Kada izvršite gornji kod, imat ćete sljedeći izlaz.

Izlaz:

JSP If-else

  • Budući da je mjesec koji imamo 5 što nije jednako #2 (veljača). Dakle, imamo izlaz "Bilo koji mjesec osim veljače" (mjesec se spominje kao 5, stoga se drugi izvršavaju)

JSP prekidač

Tijelo naredbe switch naziva se "switch block".

  • Slučaj prekidača koristi se za provjeru broja mogućih putanja izvršenja.
  • Prekidač se može koristiti sa svim vrstama podataka
  • Naredbe switch sadrže više od jednog slučaja i jedan zadani slučaj
  • On procjenjuje izraz i zatim izvršava sve naredbe koje slijede odgovarajući slučaj

Sintaksa za naredbu 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 prekidača počinje s jednim parametrom, a to je operator koji treba proslijediti i
  • Zatim postoje različiti slučajevi koji osiguravaju uvjet i koji god odgovara operatoru taj se slučaj izvršava.

U donjem primjeru, definirali smo varijablu tjedan i ona se usklađuje s malim i malim slovima koji god je istinit. U ovom slučaju, tjedan je 2, dakle 2nd velika i mala slova se podudaraju, a izlaz je utorak:

<%@ 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>

Objašnjenje koda:

  • Redak koda 10: Varijabla pod nazivom tjedan inicijalizirana je na 2 u oznakama izraza
  • Redak koda 11: U EL oznakama pokreće se slučaj switch gdje se tjedan prosljeđuje kao parametar
  • Redak koda 12 – 29: Svi slučajevi su spomenuti počevši od slučaja 0 do slučaja 5 gdje se vrijednost parametra tjedna podudara sa slučajevima, te se u skladu s tim izlaz ispisuje. U ovom slučaju vrijednost je 2, stoga će se u ovom slučaju izvršiti slučaj 2. Ovdje je "out" klasa JSP-a koja piše izlazni tok za generirani odgovor, a "println" je metoda te klase.
  • Redak koda 30-32: Ako gore navedeni slučajevi ne uspije, premjestit će se na zadani dio i izvršit će se, gdje će se izjava ispisati u izlazni tok i uvjet je zatvoren

Kada izvršite gornji kod, imat ćete sljedeći izlaz.

Izlaz:

JSP prekidač

  • Izlaz u ovom slučaju je utorak jer se poziva 2. slučaj.

Izjave petlje

JSP For petlja

Služi za ponavljanje elemenata za određeni uvjet, a ima tri parametra.

  • Brojač varijable je inicijaliziran
  • Uvjet dok se petlja mora izvršiti
  • Brojač se mora povećati

Sintaksa petlje for:

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

U ovom primjeru imamo for petlju koja ponavlja sve dok brojač ne bude manji od zadanog broja:

<%@ 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>

Objašnjenje koda:

  1. Redak koda 10: Varijabla pod nazivom "num" inicijalizirana je na 5 u oznakama izraza
  2. Redak koda 11-14: U EL oznakama, "out" je klasa JSP-a, a "println" je metoda out koja ispisuje u izlaznom toku i pokreće se for petlja koja ima tri parametra:
    • Varijabla i inicijalizirana je na 0,
    • Uvjet je dan gdje je i manji od lokalne varijable num,
    • I povećava se svakim ponavljanjem vremenske petlje.

U tijelu "forloop" postoji klasa JSP-a koja ispisuje u izlazni tok pomoću metode println gdje ispisujemo varijablu i.

Kada izvršite gornji kod, imat ćete sljedeći izlaz.

Izlaz:

JSP For petlja

  • Izlaz Numbers su 0 1 2 3 4. U ovom primjeru, dajemo uvjet da sve dok brojač ne bude manji od jednakog varijabli, mora se izvršiti "for petlja". Broj je 5 tako da će petlja započeti od 0 i trajati do 4 (5 puta). Stoga izlaz.

JSP While petlja

Koristi se za ponavljanje elementi pri čemu ima jedan parametar stanja.

Sintaksa:

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

U ovom primjeru, imamo while petlju koja će se ponavljati dok dan ne bude veći od jednakog brojaču:

<%@ 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>

Objašnjenje koda:

  • Redak koda 10: Varijabla pod nazivom i inicijalizirana je na 1, a dan je 2 u oznakama izraza
  • Redak koda 11-17: U EL oznakama postoji "while petlja" koja će se ponavljati sve dok ne postavimo uvjet da će dan biti veći ili jednak i varijabli biti istinito. (dan>=i) Unutar toga postoji "uvjet ako" (dan je jednak i) i "uvjet ako je" istinit tada će ispisati izlazni tok i izaći će iz petlje while inače se varijabla i povećava i petlja ponavlja.

Kada izvršimo kod, imat ćemo sljedeći izlaz

Izlaz je:

JSP While petlja

  • Izlaz ovog koda bit će "njegov Monday".

JSP Operaulagatelji

JSP Operators podržava većinu svojih aritmetičkih i logičkih operatora koje podržava Java unutar oznaka jezika izraza (EL). Operatori koji se često koriste navedeni su u nastavku:

Sljedeći su operateri:

. Pristupite svojstvu beana ili unosu karte
[] Pristup elementu polja ili popisa
() Grupirajte podizraz za promjenu redoslijeda vrednovanja
+ Dodatak
- Oduzimanje ili negacija vrijednosti
* Množenje
/ ili div Podjela
% ili mod Modulo (ostatak)
== ili jed Testirajte jednakost
!= ili ne Ispitajte nejednakost
< ili lt Testirajte za manje od
> ili gt Ispitajte za veće od
<= ili le Testirajte manje od ili jednako
>= ili ge Testirajte veće od ili jednako
&& ili i Testirajte logičko I
|| ili ili Testirajte logičko ILI
! ili ne Unarni Booleov komplement
prazan Testirajte prazne vrijednosti varijable

U ovom primjeru

  • Deklariramo dvije varijable num1 i num2, a zatim uzimamo varijablu num3, gdje koristimo JSP operator + by da zbrojimo num1 i num2 i dobijemo num3.
  • Zatim provjeravamo uvjet nije li num3 jednak 0 pomoću JSP operatora (!= , >) i
  • Zatim uzmite drugu varijablu num4 množenjem dva num1 i num2 dobivamo num4.

Ovi svi brojevi trebaju biti ispisani kao naš rezultat:

<%@ 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>

Objašnjenje koda:

  • Redak koda 10: Varijabla pod nazivom num1 inicijalizirana je na 10, a num2 na 50 u oznakama izraza
  • Redak koda 11: Varijabla num3 je zbroj num1 i num2 gdje koristimo operator zbrajanja
  • Redak koda 12-16: U EL oznakama koristili smo OR uvjet koji je logički operator i aritmetičke operatore za provjeru je li num3 veći od 0 u if uvjetu. ILI se koristi kada je bilo koji uvjet istinit, u tom će slučaju ući u "ako slučaj" gdje množimo dva broja "num1" i "num2" i dobivamo izlaz u "num4" i ispisat će izlazni tok.

Kada izvršite gornji kod, imat ćete sljedeći izlaz.

Izlaz:

JSP Operaulagatelji

  • Prvi izlaz je Broj 4 je 500 (varijabla num4 koja je num1*num2)
  • Drugi izlaz je broj 3 je 60 (varijabla num3 koja je num1+num2)

Rezime

  • JSP Expression Language (EL) olakšava pristup aplikaciji za podatke pohranjene u javabeans komponentama.
  • Također omogućuje stvaranje izraza koji su i aritmetički i logički.
  • Unutar EL tagova možemo koristiti cijele brojeve. Brojevi s pomičnim zarezom, nizovi i Booleove vrijednosti.
  • U JSP-u također možemo koristiti petlje i izjave za donošenje odluka koristeći EL oznake

Dnevni bilten Guru99

Započnite dan s najnovijim i najvažnijim vijestima o umjetnoj inteligenciji koje vam donosimo upravo sada.