Tutorial JSP Expression Language (EL)

Cuprins:

Anonim

Ce este Expression Language (EL)?

Expression Language (EL) este un mecanism care simplifică accesibilitatea datelor stocate în componenta Java bean și în alte obiecte, cum ar fi cererea, sesiunea și aplicația etc. Există mulți operatori în JSP care sunt utilizați în EL, cum ar fi operatorii aritmetici și logici pentru a efectua expresie. A fost introdus în JSP 2.0

În acest tutorial, veți învăța-

  • JSP Sintaxa limbajului de expresie (EL)
  • JSP If-else
  • Comutator JSP
  • JSP Pentru buclă
  • Bucla JSP While
  • Operatori JSP

JSP Sintaxa limbajului de expresie (EL)

Sintaxa EL : $ (expresie)

  • În JSP, orice prezent în paranteze este evaluat în timpul rulării trimis la fluxul de ieșire.
  • Expresia este o expresie EL valabilă și poate fi amestecată cu un text static și poate fi combinată cu altă expresie pentru a forma o expresie mai mare.

Pentru a ne face o idee mai bună, cum funcționează expresia în JSP, vom vedea exemplul de mai jos.

În acest exemplu, vom vedea cum EL este folosit ca operator pentru a adăuga două numere (1 + 2) și pentru a obține respectiv ieșirea.

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP1  Expresia este: $ {1 + 2};

Explicația Codului:

  • Linia de cod 11: Limbajul de expresie (EL) este setat în care adăugăm două numere 1 + 2, prin urmare va da ieșire ca 3.

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

Ieșire :

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

Declarații de control al debitului:

JSP oferă puterea Java pentru a fi încorporat în aplicație. Putem folosi toate API-urile și elementele de bază ale Java în programarea JSP, inclusiv instrucțiunile de flux de control, care includ luarea deciziilor și instrucțiunile de buclă.

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

  1. Declarații de luare a deciziilor
  2. Declarații 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 decizionale descrise mai jos:

  1. Dacă - altfel
  2. intrerupator

JSP If-else

Instrucțiunea „If else” este elementul de bază al tuturor instrucțiunilor fluxului de control și îi spune programului să execute anumite secțiuni de cod numai dacă testul particular este evaluat la adevărat.

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

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

Sintaxa 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"%> Guru JSP2 <%! int luna = 5; %><% if (luna == 2) {%> Este februarie <%} else {%> Orice altă lună decât februarie <%}%>

Explicația codului:

  • Linia de cod 10: Variabila numită lună este inițializată la 5 în etichetele de expresie
  • Linia de cod 11: În etichetele EL există „condiția if” care afirmă că dacă luna este egală cu 2 (condiția este testată aici ca fiind adevărată sau falsă)
  • Linia de cod 12: Dacă condiția este adevărată, adică luna variabilă este 2, atunci se va imprima în fluxul de ieșire
  • Linia de cod 13-15: Dacă condiția de mai sus, dacă condiția eșuează, 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:

  • Întrucât luna pe care o avem este 5, ceea ce nu este egal cu # 2 (februarie). Prin urmare, avem rezultatul „Orice lună, alta decât februarie” (luna este menționată, deoarece 5 sunt executate în continuare)

Comutator JSP

Corpul declarației de comutare este denumit „bloc de comutare”.

  • Comutatorul 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 declarațiile care urmează cazului de potrivire

Sintaxa pentru instrucțiunea switch :

switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
  • Blocul de comutare începe cu un parametru, care este operatorul care trebuie trecut și
  • Apoi, există diferite cazuri care oferă condiția și oricare dintre potrivirile cu operatorul, care este cazul executat.

În exemplul de mai jos,

Am definit o săptămână variabilă și se potrivește cu cazul în care este adevărat. În acest caz, săptămâna este 2, prin urmare, al doilea caz este potrivit, iar ieșirea este marți:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP3 <%! int week = 2; %><% switch (săptămână) {caz 0:out.println („duminică”);pauză;cazul 1:out.println ("luni");pauză;cazul 2:out.println („marți”);pauză;cazul 3:out.println ("miercuri");pauză;cazul 4:out.println („joi”);pauză;cazul 5:out.println („vineri”);pauză;Mod implicit:out.println („sâmbătă”);}%>

Explicația Codului:

  • Linia de cod 10: Săptămâna numită variabilă este inițializată la 2 în etichetele de expresie
  • Linia de cod 11: În etichetele EL se începe cazul în care comutatorul trece săptămâna ca parametru
  • Linia de cod 12 - 29: Toate cazurile au fost menționate începând de la cazul 0 până la cazul 5 în care parametrul valorii săptămânii este asociat 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 și "println" este o metodă a acelei clase.
  • Linia de cod 30-32: Dacă toate cazurile de mai sus eșuează, atunci va trece la partea implicită și va fi executată, unde instrucțiunea se va imprima în fluxul de ieșire și starea este închisă

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

Ieșire:

  • Ieșirea în acest caz este marți, așa cum se numește al doilea caz.

Declarații buclă

JSP Pentru buclă

Este folosit pentru iterarea elementelor pentru o anumită stare și are trei parametri.

  • Contorul variabil este inițializat
  • Condiție până când bucla trebuie executată
  • Contorul trebuie crescut

Pentru sintaxa buclei:

For(inti=0;i

În acest exemplu,

Avem pentru bucla care repetă 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"%> Guru JSP4 <%! int num = 5; %><% out.println ("Numerele sunt:");for (int i = 0; i 

Explicație pentru cod:

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

În corpul „forloop”, există o clasă de JSP care 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:

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

Bucla JSP While

Este folosit pentru a itera elementele în care are un parametru al condiției.

Sintaxă:

While(i

În acest exemplu,

Avem o buclă de timp care va itera 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"%> Guru JSP5 <%! int zi = 2; int i = 1; %><% while (zi> = i) {if (zi == i) {out.println („Este luni”);pauză;}i ++;}%>

Explicația codului:

  • Linia de cod 10: Variabila numită i este inițializată la 1 și ziua este 2 în etichetele de expresie
  • Linia de cod 11-17: În etichetele EL, există „while loop” va itera până când vom avea o condiție setată ca și cum ziua este mai mare sau egală cu variabila i va fi adevărată. (zi> = i)

    În acest sens există „dacă condiția” (ziua este egală cu i) și „dacă condiția” este adevărată, atunci va imprima 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

Rezultatul este:

  • Ieșirea acestui cod va fi „luni”.

Operatori JSP

Operatorii JSP acceptă majoritatea operatorilor săi aritmetici și logici, care sunt susținuți de java în etichetele de limbaj de expresie (EL).

Operatorii folosiți frecvent sunt menționați mai jos:

Următoarele 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 modifica ordinea de evaluare
+ Plus
- Scăderea sau negarea unei valori
* Multiplicare
/ sau div Divizia
% sau mod Modulo (rest)
== sau echiv Test pentru egalitate
! = sau ne Test pentru inegalitate
Test pentru mai puțin de
> sau gt Test pentru mai mare de
<= sau le Testați pentru mai puțin sau egal
> = sau ge Testați dacă este mai mare sau egal
&& sau și Test pentru AND logic
|| sau sau Test pentru OR logică
! sau nu Complement boolean unar
Gol Testați pentru valorile variabile 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 pentru a obține num3.
  • Apoi verificăm o condiție dacă num3 nu este egal cu 0 folosind operatori JSP (! =,>) Și
  • Apoi luați 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"%> Guru JSP6 <% int num1 = 10; int num2 = 50;int num3 = num1 + num2;if (num3! = 0 || num3> 0) {int num4 = num1 * num2;out.println ("Numărul 4 este" + num4);out.println ("Numărul 3 este" + num3);}%>

Explicația codului:

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

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

Ieșire:

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

Rezumat:

  • Limbajul de expresie JSP (EL) facilitează accesarea aplicației pentru datele stocate în componentele javabeans.
  • De asemenea, permite crearea expresiilor care sunt atât aritmetice, cât și logice.
  • În cadrul etichetelor EL putem folosi numere întregi. Numere în virgulă mobilă, șiruri și valori booleene.
  • În JSP putem folosi, de asemenea, bucle și declarații de luare a deciziilor folosind etichete EL