Što je izrazni jezik (EL)?
Jezik izraza (EL) je mehanizam koji pojednostavljuje pristup podacima pohranjenim u komponenti Java zrna i drugim objektima poput zahtjeva, sesije i aplikacije itd. U JSP-u postoje mnogi operatori koji se u EL koriste poput aritmetičkih i logičkih operatora za izvođenje izraz. Uveden je u JSP 2.0
U ovom vodiču naučit ćete-
- JSP sintaksa jezika izraza (EL)
- JSP ako ne
- JSP prekidač
- JSP za petlju
- JSP while petlja
- JSP operatori
JSP sintaksa jezika izraza (EL)
Sintaksa EL : $ (izraz)
- U JSP-u, sve što je prisutno u zagradama procjenjuje se tijekom izvođenja poslanog u izlazni tok.
- Izraz je valjani EL izraz i može se miješati sa statičkim tekstom i može se kombinirati s drugim izrazom kako bi se dobio veći izraz.
Da bismo dobili bolju ideju o tome kako izraz djeluje u JSP-u, vidjet ćemo donji primjer.
U ovom ćemo primjeru vidjeti kako se EL koristi kao operator za dodavanje dva broja (1 + 2) i dobivanje rezultata.
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP1 Izraz je: {1 + 2} USD;
Objašnjenje koda:
- Linijska oznaka 11: Jezik izraza (EL) postavljen je tamo gdje dodajemo dva broja 1 + 2, stoga će se izlaz dobiti kao 3.
Kada izvršite gornji kod, imat ćete sljedeći izlaz.
Izlaz :
- Izraz je: 3 (Kako će se brojevi 1 + 2 dodavati i služiti kao izlaz)
Izjave o kontroli protoka:
JSP pruža moć Jave koja se ugrađuje u aplikaciju. Možemo koristiti sve API-je i gradivne blokove Java u JSP programiranju, uključujući naredbe kontrolnog tijeka koje uključuju donošenje odluka i izjave petlje.
Dvije su vrste izjava o kontroli protoka opisane u nastavku;
- Izjave o donošenju odluka
- Izjave petlje
Izjave o donošenju odluka:
Izjava o donošenju odluka u JSP-u temelji se na tome je li skup uvjeta istinit ili neistinit. Izjava će se ponašati u skladu s tim.
U nastavku su opisane dvije vrste izjava o donošenju odluka:
- Ako - drugačije
- sklopka
JSP ako ne
Izjava "If else" osnovna je za sve naredbe tijeka kontrole i govori programu da izvrši određeni odjeljak koda samo ako određeni test procijeni na vrijednost true.
Ovaj se uvjet koristi za ispitivanje više od jednog uvjeta jesu li istiniti ili netačni.
- Ako je prvi uvjet istinit, tada se izvršava "if block" i
- ako je false, izvršava se "else block"
Sintaksa za if - else izjavu :
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 podudara li se varijabla s onim što je inicijalizirana:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP2 <%! int mjesec = 5; %><% if (mjesec == 2) {%> Veljača je <%} ostalo {%> Bilo koji mjesec osim veljače <%}%>
Objašnjenje koda:
- Redak koda 10: Varijabla s imenom mjesec inicijalizira se na 5 u oznakama izraza
- Linijska oznaka 11: U EL oznakama nalazi se "if uvjet" koji kaže da ako je mjesec jednak 2 (ovdje se uvjet provjerava kao istinit ili netačan)
- Redak koda 12: Ako je ispunjen uvjet da je varijabla mjesec 2, ispisat će se u izlazni tok
- Redak koda 13-15: Ako gore navedeno ako uvjet ne uspije, premjestit će se na drugi dio za sve ostale slučajeve kada će se ispis ispisati u izlazni tok, a uvjet zatvoriti
Kada izvršite gornji kod, imat ćete sljedeći izlaz.
Izlaz:
- Budući da imamo mjesec 5, što nije jednako # 2 (veljača). Dakle, imamo izlaz "Bilo koji mjesec osim veljače" (mjesec se spominje kao 5 pa se i drugi izvršavaju)
JSP prekidač
Tijelo naredbe prekidača naziva se "sklopni blok".
- Prekidač se koristi za provjeru broja mogućih putova izvršenja.
- Prekidač se može koristiti sa svim vrstama podataka
- Izjave prekidača sadrže više od jednog slučaja i jedan zadani slučaj
- Procjenjuje izraz, a zatim izvršava sve izjave nakon odgovarajućeg slučaja
Sintaksa za naredbu switch :
switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
- Preklopni blok započinje jednim parametrom, a to je operator kojeg treba proslijediti i
- Zatim postoje različiti slučajevi koji pružaju uvjet i ovisno o tome što se podudara s operatorom taj slučaj se izvršava.
U donjem primjeru,
Definirali smo varijablu tjedan, a ona se podudara sa slučajem ovisno o tome što je točno. U ovom slučaju, tjedan je 2, dakle podudara se drugi slučaj, a izlaz je utorak:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP3 <%! int tjedan = 2; %><% prebacivanje (tjedan) {slučaj 0:out.println ("nedjelja");pauza;slučaj 1:out.println ("ponedjeljak");pauza;slučaj 2:out.println ("utorak");pauza;slučaj 3:out.println ("srijeda");pauza;slučaj 4:out.println ("četvrtak");pauza;slučaj 5:out.println ("petak");pauza;zadano:out.println ("subota");}%>
Objašnjenje koda:
- Redak koda 10: Varijabla nazvana tjedan inicijalizira se na 2 u oznakama izraza
- Linijska oznaka 11: U EL oznakama započinje slučaj prebacivanja gdje se kao parametar prosljeđuje tjedan
- Linijska oznaka 12 - 29: Spomenuti su svi slučajevi, počevši od slučaja 0 do slučaja 5, gdje se vrijednost parametra tjedna podudara s padežima, te se u skladu s tim ispisuje. U ovom je slučaju vrijednost 2, pa će se u ovom slučaju izvršiti slučaj 2. Ovdje je "out" klasa JSP-a koja zapisuje izlazni tok za generirani odgovor, a "println" je metoda te klase.
- Redak koda 30-32: Ako gornji svi slučajevi ne uspiju, preći će na zadani dio i izvršit će se, gdje će se ispis ispisati u izlazni tok, a uvjet će biti zatvoren
Kada izvršite gornji kod, imat ćete sljedeći izlaz.
Izlaz:
- Izlaz u ovom slučaju je utorak kako se naziva drugi slučaj.
Izjave petlje
JSP za petlju
Koristi se za ponavljanje elemenata za određeno stanje i ima tri parametra.
- Brojač varijabli je inicijaliziran
- Uvjet dok se petlja ne mora izvršiti
- Brojač se mora povećati
Sintaksa petlje:
For(inti=0;iU ovom primjeru,
Imamo for petlju koja se ponavlja dok brojač nije manji od zadanog broja:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP4 <%! int broj = 5; %><% out.println ("Brojevi su:");za (int i = 0; iObjašnjenje koda:
- Redak koda 10: Varijabla pod nazivom "num" inicijalizira se na 5 u oznakama izraza
- Linijska oznaka 11-14: U EL oznakama, "out" je klasa JSP-a, a "println" je metoda kojom se započinju ispisi u izlaznom toku i for, koja ima tri parametra:
- Varijabla i inicijalizira se na 0,
- Daje se uvjet gdje je i manje od lokalne varijable num,
- I ja se povećava svaki puta ponavljanja vremenske petlje.
U tijelu "forloop" postoji klasa JSP koja ispisuje u izlazni tok metodom println gdje ispisujemo varijablu i.
Kada izvršite gornji kod, imat ćete sljedeći izlaz.
Izlaz:
- Izlazni brojevi su 0 1 2 3 4. U ovom primjeru dajemo uvjet da sve dok brojač nije manji od varijable mora se izvršiti "for loop". Broj je 5, tako da će petlja započeti od 0 i trajati do 4 (5 puta). Otuda i izlaz.
JSP while petlja
Koristi se za ponavljanje elemenata u kojima ima jedan parametar stanja.
Sintaksa:
While(iU 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"%>Guru JSP5 <%! int dan = 2; int i = 1; %><% while (dan> = i) {if (dan == i) {out.println ("Njegov je ponedjeljak");pauza;}i ++;}%>Objašnjenje koda:
- Redak koda 10: Varijabla pod nazivom i inicijalizira se na 1, a dan je 2 u oznakama izraza
- Linijska oznaka 11-17: U EL oznakama postoji "while loop" koja će se ponavljati dok ne postavimo uvjet kao da je dan veći ili jednak i, varijabla true. (dan> = i)
Unutar toga postoji "ako je uvjet" (dan je jednak i) i "ako je uvjet" istinito, tada će ispisati izlazni tok i izaći će iz petlje while, varijabla i se povećava i petlja ponavlja.
Kada izvršimo kod, imat ćemo sljedeći izlaz
Izlaz je:
- Rezultat ovog koda bit će "njegov ponedjeljak".
JSP operatori
JSP Operatori podržavaju većinu svojih aritmetičkih i logičkih operatora koje podržava java unutar oznaka jezika izraza (EL).
U nastavku su navedeni često korišteni operateri:
Slijede operatori:
. Pristupite svojstvu graha ili unosu na karti [] Pristupite nizu ili elementu Popisa () Grupirajte podizraz da biste promijenili redoslijed ocjenjivanja + Dodatak - Oduzimanje ili negacija vrijednosti * Množenje / ili div Podjela % ili mod Modulo (ostatak) == ili jed Test za jednakost ! = ili ne Test za nejednakost Test za manje od > ili gt Test za veće od <= ili le Test za manje ili jednako > = ili ge Ispitajte je li veće ili jednako && ili i Test za logično I || ili ili Test za logično ILI ! ili ne Unarni logički komplement Prazan Test za prazne vrijednosti varijabli U ovom primjeru,
- Deklariramo dvije varijable num1 i num2, a zatim uzimamo varijablu num3, gdje koristimo JSP operator + tako da zbrojimo num1 i num2 i dobijemo num3.
- Zatim provjeravamo uvjet nije li num3 jednak 0 pomoću JSP operatora (! =,>) I
- Zatim uzmimo drugu varijablu num4 množenjem dva num1 i num2 dobivamo num4.
Ove sve brojeve treba ispisati kao naš izlaz:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP6 <% int num1 = 10; int broj2 = 50;int num3 = num1 + num2;ako (num3! = 0 || num3> 0) {int num4 = num1 * num2;out.println ("Broj 4 je" + broj4);out.println ("Broj 3 je" + broj3);}%>Objašnjenje koda:
- Redak koda 10: Varijabla imena num1 inicijalizira se u 10 i num2 do 50 u oznakama izraza
- Linijska oznaka 11: Varijabla num3 zbroj je num1 i num2 gdje koristimo operator zbrajanja
- Redak koda 12-16: U EL oznakama koristili smo uvjet ILI koji je logički operator i aritmetički operator da bismo provjerili je li num3 veći od 0 u uvjetu if. ILI se koristi kada je bilo koji uvjet istinit, u takvom će slučaju ući u "if case" 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:
- Prvi izlaz je Broj 4 je 500 (varijabla num4 koja je num1 * num2)
- Drugi izlaz je broj 3 je 60 (varijabla num3 koja num1 + num2)
Sažetak:
- 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čni.
- Unutar EL oznaka možemo koristiti cijele brojeve. Brojevi s pomičnim zarezom, nizovi i logičke vrijednosti.
- U JSP-u također možemo koristiti petlje i izjave za donošenje odluka pomoću EL oznaka