Limbajul de expresie în JSP

⚡ Rezumat inteligent

Limbajul de expresii din JSP simplifică accesul la datele stocate în JavaBean-uri și obiecte implicite, cum ar fi request, session și application. Introdus în JSP 2.0, acesta acceptă operatori aritmetici, logici și relaționali, plus instrucțiuni de luare a deciziilor și bucle scrise în interiorul etichetelor EL.

  • 🧮 EL definit: Simplifică accesul la JavaFasole și obiecte implicite; adăugate în JSP 2.0.
  • 🔣 Sintaxă: Scrieți expresii în interiorul ${ } pentru a fi evaluate la momentul execuției și a afișa rezultatul.
  • 🔀 Luarea deciziilor: Instrucțiunile if-else și switch controlează fluxul paginii.
  • 🔁 buclele: Instructiunile for și while iterează peste condiții.
  • Operators: Operatori aritmetici, relaționali și logici (eq, lt și, sau, empty).

Limbajul de expresie în JSP

Ce este limbajul de expresie (EL)?

Expression Language (EL) este un mecanism care simplifică accesibilitatea datelor stocate în Java componenta bean și alt obiect cum ar fi cererea, sesiune și aplicație etc.

Există mulți operatori în JSP care sunt utilizați în EL, cum ar fi operatorii aritmetici și logici pentru a efectua o expresie. A fost introdus în JSP 2.0

Sintaxa JSP a limbajului de expresie (EL)

Sintaxa lui EL : ${expresie}

  • În JSP, orice este prezent în acolade este evaluat în timpul execuției, trimis către fluxul de ieșire.
  • Expresia este o expresie EL validă și poate fi amestecată cu un text static și poate fi combinată cu altă expresie pentru a forma o expresie mai mare.

Pentru a vă face o idee mai bună despre cum funcționează expresia în JSP, vom vedea mai jos un exemplu. În acest exemplu, vom vedea cum EL este folosit ca operator pentru a adăuga două numere (1+2) și, respectiv, a obține rezultatul.

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

Explicația de Code:

  • Code Linia 11: Limbajul expresiei (EL) este setat în cazul în care adăugăm două numere 1+2, prin urmare, va da rezultate ca 3.

Când executați codul de mai sus, veți avea următoarea ieșire.

producție:

Limbajul de expresie JSP

  • Expresia este: 3 (deoarece numerele 1+2 vor fi adăugate și vor servi ca rezultat)

Declarații de control al fluxului:

JSP oferă puterea de Java pentru a fi încorporat în aplicație. Putem folosi toate API-urile și blocurile de construcție ale Java in Programare JSP inclusiv instrucțiuni de flux de control care includ luarea deciziilor și instrucțiunile buclei.

Există două tipuri de instrucțiuni de control al fluxului descrise mai jos;

  1. Declarații de luare a deciziilor
  2. Declarații de buclă

Declarații de luare a deciziilor:

Declarația de luare a deciziilor în JSP se bazează pe dacă setul de condiții este adevărat sau fals. Declarația se va comporta în consecință.

Există două tipuri de declarații de luare a deciziilor descrise mai jos:

  1. Dacă – altfel
  2. comuta

JSP Dacă-altfel

Instrucțiunea „If else” este de bază pentru toate instrucțiunile fluxului de control și îi spune programului să execute o anumită secțiune de cod numai dacă testul respectiv este evaluat la adevărat.

Această condiție este utilizată pentru a testa mai multe condiții dacă sunt adevărate sau false.

  • Dacă prima condiție este adevărată, atunci „dacă bloc” este executat și
  • dacă este fals, atunci se execută „else block”.

Sintaxă pentru instrucțiunea if – else:

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

În acest exemplu, vom testa condiția „dacă altfel” luând variabila și verificând valoarea dacă variabila se potrivește cu ceea ce este inițializată:

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

Explicația codului:

  • Code Linia 10: Variabila numită lună este inițializată la 5 în etichetele expresiei
  • Code Linia 11: În etichetele EL există „condiția dacă” care arată că dacă luna este egală cu 2 (condiția este testată aici ca adevărată sau falsă)
  • Code Linia 12: Dacă condiția este adevărată, adică luna variabilă este 2, atunci se va imprima în fluxul de ieșire
  • Code Linia 13-15: Dacă condiția de mai sus, dacă eșuează, atunci se va muta în alt parte pentru toate celelalte cazuri în care instrucțiunea se va imprima în fluxul de ieșire și condiția este închisă

Când executați codul de mai sus, veți avea următoarea ieșire.

ieșire:

JSP Dacă-altfel

  • Deoarece luna pe care o avem este 5, care nu este egală cu #2 (februarie). Prin urmare, avem rezultatul „Orice lună, cu excepția lunii februarie” (luna este menționată ca 5, prin urmare, celelalte sunt executate)

Comutator JSP

Corpul instrucțiunii switch este numit „bloc comutator”.

  • Cazul de comutare este utilizat pentru a verifica numărul de căi de execuție posibile.
  • Un comutator poate fi utilizat cu toate tipurile de date
  • Instrucțiunile switch conțin mai multe cazuri și un caz implicit
  • Evaluează expresia, apoi execută toate instrucțiunile care urmează cazului potrivit

Sintaxă pentru instrucțiunea 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;
}
  • Blocul comutatorului începe cu un parametru, care este operatorul care trebuie trecut și
  • Apoi, există diferite cazuri care oferă condiție și oricare se potrivește cu operatorul respectivul caz este executat.

În exemplul de mai jos, am definit o variabilă săptămână, iar aceasta este potrivită în cazul în care este adevărat. În acest caz, săptămână este 2, deci 2.nd caz este potrivit și rezultatul este marți:

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

Explicația de Code:

  • Code Linia 10: Variabila numită săptămână este inițializată la 2 în etichetele expresiei
  • Code Linia 11: În etichetele EL, cazul comutatorului este pornit unde săptămâna este trecută ca parametru
  • Code Linia 12 – 29: Toate cazurile au fost menționate începând de la cazul 0 până la cazul 5 în care valoarea parametrului săptămânii este corelată cu cazurile și, în consecință, rezultatul este tipărit. În acest caz, valoarea este 2, deci cazul 2 va fi executat în acest caz. Aici „out” este clasa JSP care scrie fluxul de ieșire pentru răspunsul generat, iar „println” este o metodă a acelei clase.
  • Code Linia 30-32: Dacă toate cazurile de mai sus nu reușesc, atunci se va trece la partea implicită și va fi executată, unde instrucțiunea se va imprima în fluxul de ieșire și condiția este închisă

Când executați codul de mai sus, veți avea următoarea ieșire.

ieșire:

Comutator JSP

  • Ieșirea în acest caz este marți, când este numit al doilea caz.

Instrucțiuni de buclă:

JSP pentru buclă

Este folosit pentru iterarea elementelor pentru o anumită condiție și are trei parametri.

  • Contorul de variabile este inițializat
  • Condiție până când bucla trebuie să fie executată
  • Contorul trebuie crescut

Sintaxa buclei pentru:

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

În acest exemplu, avem bucla for care iterează până când contorul este mai mic decât numărul dat:

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

Explicație pentru cod:

  1. Code Linia 10: Variabila numită „num” este inițializată la 5 în etichetele expresiei
  2. Code Linia 11-14: În etichetele EL, „out” este clasa JSP, iar „println” este metoda out care se tipărește în fluxul de ieșire și este pornită bucla pentru care are trei parametri:
    • Variabila i este inițializată la 0,
    • Condiția este dată în care i să fie mai mic decât variabila locală num,
    • Și i este incrementat de fiecare dată când bucla repetă.

În corpul „forloop”, există o clasă de JSP care se imprimă în fluxul de ieșire folosind metoda println, unde tipărim variabila i.

Când executați codul de mai sus, veți avea următoarea ieșire.

ieșire:

JSP pentru buclă

  • producție Numbers sunt 0 1 2 3 4. În acest exemplu, dăm condiția ca până când contorul este mai mic decât egal cu o variabilă, „bucla for” trebuie să fie executată. Numărul este 5, așa că bucla va începe de la 0 și va rula până la 4 (de 5 ori). De aici rezultatul.

JSP bucla While

Este folosit pentru a repeta element în care are un parametru al condiției.

Sintaxă:

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

În acest exemplu, avem o buclă while care va repeta până când ziua este mai mare decât egală cu contorul:

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

Explicația codului:

  • Code Linia 10: Variabila numită i este inițializată la 1 și ziua este 2 în etichetele expresiei
  • Code Linia 11-17: În etichetele EL, există o buclă „while” care va itera până când avem o condiție setată, adică dacă ziua este mai mare sau egală cu variabila „i”, variabila va fi adevărată. (day>=i) În cadrul acesteia există „dacă condiția” (day este egală cu i) și „dacă condiția” este adevărată, atunci va afișa fluxul de ieșire și va ieși din bucla while, altfel variabila „i” este incrementată și bucla iterează.

Când executăm codul, vom avea următoarea ieșire

Ieșirea este:

JSP bucla While

  • Rezultatul acestui cod va fi „its Monday".

JSP Operatori

JSP Operators acceptă majoritatea operatorilor săi aritmetici și logici care sunt suportați de Java în etichetele limbajului de expresie (EL). Operatorii folosiți frecvent sunt menționați mai jos:

Următorii sunt operatorii:

. Accesați o proprietate bean sau o intrare pe hartă
[] Accesați o matrice sau un element Listă
() Grupați o subexpresie pentru a schimba ordinea evaluării
+ Plus
- Subtracțiune sau negație a unei valori
* Multiplicare
/ sau div diviziune
% sau mod Modul (restul)
== sau echivalentul Test pentru egalitate
!= sau ne Testează inegalitatea
< sau lt Testați pentru mai puțin de
> sau gt Testați pentru mai mare decât
<= sau le Testați pentru mai puțin sau egal
>= sau ge Testați pentru mai mare sau egal
&& sau și Testează ȘI logic
|| sau sau Testează pentru SAU logic
! sau nu Complement boolean unar
Gol Testați valorile variabilelor goale

În acest exemplu,

  • Declarăm două variabile num1 și num2 și apoi luăm o variabilă num3, unde folosim operatorul JSP + by pentru a adăuga num1 și num2 și obținem num3.
  • Apoi verificăm o condiție dacă num3 este diferit de 0 folosind operatorii JSP (!=, >) și
  • Apoi luăm o altă variabilă num4 înmulțind două num1 și num2 obținem num4.

Toate aceste numere ar trebui să fie tipărite ca 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>

Explicația codului:

  • Code Linia 10: Variabila numită num1 este inițializată la 10 și num2 la 50 în etichetele de expresie
  • Code Linia 11: Variabila num3 este suma lui num1 și num2 unde folosim operatorul de adăugare
  • Code Linia 12-16: În etichetele EL, am folosit o condiție SAU, care este un operator logic, și operatori aritmetici pentru a verifica dacă num3 este mai mare decât 0 în condiția if. Operația SAU este utilizată atunci când oricare dintre condiții este adevărată, în acest caz se va intra în „cazul if” în care înmulțim două numere „num1” și „num2” și se obține rezultatul în „num4” și se va afișa fluxul de ieșire.

Când executați codul de mai sus, veți avea următoarea ieșire.

ieșire:

JSP Operatori

  • Prima ieșire este Numărul 4 este 500 (variabila num4 care este num1*num2)
  • A doua ieșire este Numărul 3 este 60 (variabila num3 care num1+num2)

Întrebări frecvente

Limbajul de expresii (EL) simplifică accesul la datele stocate în JavaBean-uri și obiecte implicite precum request, session și application. Vă permite să scrieți expresii și operatori conciși direct într-o pagină JSP în loc să Java scriptlet-uri.

EL folosește sintaxa ${expression}. Orice se află între acolade este evaluat la momentul execuției și trimis către fluxul de ieșire. Expresiile pot fi combinate cu text static și alte expresii.

Limbajul de expresii a fost introdus în JSP 2.0. A fost conceput pentru a reduce nevoia de Java scriptlet-uri oferind o modalitate simplă de accesare și afișare a datelor aplicației.

IA poate converti Java scriptlet-uri în expresii EL mai curate, sugerează operatorul corect și generează exemple pentru bucle și condiționale, ajutăping Dezvoltatorii scriu pagini JSP mai lizibile mai rapid.

Da. IA poate semnala sintaxa EL invalidă, acoladele nepotrivite, proprietățile bean lipsă și problemele de tip, apoi poate sugera corecții, reducând erorile de execuție din paginile JSP.

Rezumați această postare cu: