Ilmaisukieli JSP:ssä
⚡ Älykäs yhteenveto
JSP:n lausekekieli yksinkertaistaa pääsyä tallennettuun dataan JavaBean-komponentit ja implisiittiset objektit, kuten request, session ja application. JSP 2.0:ssa esitelty se tukee aritmeettisia, loogisia ja relaatio-operaattoreita sekä EL-tagien sisään kirjoitettuja päätöksenteko- ja silmukkalausekkeita.

Mikä on ilmaisukieli (EL)?
Expression Language (EL) on mekanismi, joka yksinkertaistaa tallennettujen tietojen saatavuutta Java bean-komponentti ja muu objekti, kuten pyyntö, istunto ja sovellus jne.
JSP:ssä on monia operaattoreita, joita käytetään EL:ssä, kuten aritmeettisia ja loogisia operaattoreita lausekkeen suorittamiseen. Se esiteltiin JSP 2.0:ssa
JSP-ilmaisukielen syntaksi (EL)
EL:n syntaksi : ${lauseke}
- JSP:ssä aaltosulkeissa oleva sisältö arvioidaan suorituksen aikana, ja se lähetetään tulosvirtaan.
- Lauseke on kelvollinen EL-lauseke ja se voidaan sekoittaa staattiseen tekstiin ja se voidaan yhdistää muihin lausekkeisiin suuremmaksi lausekkeeksi.
Saadaksemme paremman käsityksen siitä, kuinka ilmaisu toimii JSP:ssä, näemme alla esimerkin. Tässä esimerkissä näemme kuinka EL:ää käytetään operaattorina kahden luvun (1+2) lisäämiseen ja tulosteen saamiseksi vastaavasti.
<%@ 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>
Selitys Code:
- Code Rivi 11: Lausekekieli (EL) on asetettu siten, että lisäämme kaksi numeroa 1+2, joten se antaa tulokseksi 3.
Kun suoritat yllä olevan koodin, sinulla on seuraava tulos.
ulostulo:
- Lauseke on: 3 (Kun numerot 1+2 lisätään ja toimivat tulosteena)
Virtauksen ohjauslausekkeet:
JSP tarjoaa voiman Java upotettavaksi sovellukseen. Voimme käyttää kaikkia API:ita ja rakennuspalikoita Java in JSP ohjelmointi mukaan lukien ohjausvirtalausekkeet, jotka sisältävät päätöksenteon ja silmukkalausekkeet.
Alla kuvattuja vuonohjauslausekkeita on kahdenlaisia;
- Päätöksentekolausunnot
- Loop-lauseet
Päätöksentekolausunnot:
JSP:n päätöksentekolausunto perustuu siihen, onko ehtojoukko tosi vai epätosi. Lausunto käyttäytyy sen mukaisesti.
Alla on kuvattu kahdenlaisia päätöksentekolausuntoja:
- Tai muuten
- kytkin
JSP Jos-muu
"If else"-käsky on kaikkien ohjausvuon käskyjen perusosa, ja se käskee ohjelman suorittamaan tietyn koodin osan vain, jos tietty testi arvioi todeksi.
Tätä ehtoa käytetään useamman kuin yhden ehdon testaamiseen, ovatko ne totta vai epätosi.
- Jos ensimmäinen ehto on tosi, "jos lohko" suoritetaan ja
- jos se on epätosi, "else block" suoritetaan
If – else -lausekkeen syntaksi:
If(test condition) { //Block of statements } else { //Block of statements }
Tässä esimerkissä aiomme testata "jos muuta" -ehtoa ottamalla muuttujan ja tarkistamalla arvon, jos muuttuja vastaa sitä, mitä se on alustettu:
<%@ 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>
Koodin selitys:
- Code Rivi 10: Kuukausi-niminen muuttuja alustetaan 5:ksi lauseketunnisteissa
- Code Rivi 11: EL-tunnisteissa on "jos ehto", joka ilmoittaa, että jos kuukausi on 2 (ehto testataan tässä tosi tai epätosi)
- Code Rivi 12: Jos ehto on tosi, että muuttuva kuukausi on 2, se tulostaa tulosvirtaan
- Code Rivi 13–15: Jos yllä oleva jos ehto epäonnistuu, se siirtyy toiseen osaan kaikissa muissa tapauksissa, joissa käsky tulostuu tulosvirtaan ja ehto suljetaan
Kun suoritat yllä olevan koodin, sinulla on seuraava tulos.
lähtö:
- Koska kuukausi meillä on 5, mikä ei ole yhtä suuri kuin #2 (helmikuu). Tästä syystä meillä on tulos "Mikä tahansa muu kuukausi kuin helmikuu" (kuukausi mainitaan 5, joten muut suoritetaan)
JSP-kytkin
Kytkinlauseen runkoa kutsutaan "kytkinlohkoksi".
- Kytkintapausta käytetään mahdollisten suorituspolkujen määrän tarkistamiseen.
- Kytkintä voidaan käyttää kaikkien tietotyyppien kanssa
- Kytkinkäskyt sisältävät useamman kuin yhden tapauksen ja yhden oletustapauksen
- Se arvioi lausekkeen ja suorittaa sitten kaikki lausekkeet vastaavan tapauksen jälkeen
Kytkinlauseen syntaksi:
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; }
- Kytkinlohko alkaa yhdellä parametrilla, joka on välitettävä operaattori ja
- Sitten on olemassa erilaisia tapauksia, jotka tarjoavat ehdon ja sen, mikä vastaa operaattoria, kyseinen tapaus suoritetaan.
Alla olevassa esimerkissä olemme määritelleet muuttujan viikko, ja se yhdistetään siihen tapaukseen, joka on tosi. Tässä tapauksessa viikko on 2, joten 2nd tapaus täsmää, ja tulos on tiistai:
<%@ 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>
Selitys Code:
- Code Rivi 10: Viikko-niminen muuttuja alustetaan 2:ksi lauseketunnisteissa
- Code Rivi 11: EL-tunnisteissa kytkentätapaus aloitetaan, jolloin parametrina välitetään viikko
- Code Rivi 12–29: Kaikki tapaukset on mainittu tapauksesta 0 tapaukseen 5, jossa viikon parametrin arvo on sovitettu tapauksiin, ja vastaavasti tuloste on print. Tässä tapauksessa arvo on 2, joten tapaus 2 suoritetaan tässä tapauksessa. Tässä "out" on JSP-luokka, joka kirjoittaa tulosvirran generoidulle vastaukselle ja "println" on tämän luokan menetelmä.
- Code Rivi 30–32: Jos kaikki edellä mainitut tapaukset epäonnistuvat, se siirtyy oletusosaan ja suoritetaan, jossa käsky tulostuu tulosvirtaan ja ehto suljetaan
Kun suoritat yllä olevan koodin, sinulla on seuraava tulos.
lähtö:
- Tulos tässä tapauksessa on tiistai, jota kutsutaan 2. tapaukseksi.
Silmukkalauseet:
JSP silmukalle
Sitä käytetään tietyn ehdon elementtien iterointiin, ja sillä on kolme parametria.
- Muuttuva laskuri alustetaan
- Ehto, kunnes silmukka on suoritettava
- Laskuria on lisättävä
Silmukan syntaksi:
For(inti=0;i<n;i++) { //block of statements }
Tässä esimerkissä meillä on for-silmukka, joka toistuu, kunnes laskuri on pienempi kuin annettu numero:
<%@ 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>
Selitys koodille:
- Code Rivi 10: Muuttuja nimeltä "num" alustetaan 5:ksi lauseketunnisteissa
- Code Rivi 11–14: EL-tunnisteissa "out" on JSP:n luokka ja "println" on menetelmä, jolla tulostuu ulostulovirtaan ja for-silmukka käynnistetään, jolla on kolme parametria:
- Muuttuja i alustetaan 0:ksi,
- Ehto on annettu, jossa i on pienempi kuin paikallinen muuttuja num,
- Ja i:tä kasvatetaan aina silmukan toistuessa.
"Forloopin" rungossa on JSP-luokka, joka tulostaa tulosvirtaan menetelmällä println, jossa tulostetaan muuttuja i.
Kun suoritat yllä olevan koodin, sinulla on seuraava tulos.
lähtö:
- ulostulo Numbers ovat 0 1 2 3 4. Tässä esimerkissä annamme ehdon, että kunnes laskuri on pienempi kuin muuttuja, "for-silmukka" on suoritettava. Numero on 5, joten silmukka alkaa 0:sta ja jatkuu 4:ään (5 kertaa). Siksi tulos.
JSP While -silmukka
Sitä käytetään iteroimaan elementtejä jossa sillä on yksi ehdon parametri.
Syntaksi:
While(i<n) { //Block of statements }
Tässä esimerkissä meillä on while-silmukka, joka toistuu, kunnes päivä on suurempi kuin laskuri:
<%@ 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>
Koodin selitys:
- Code Rivi 10: Muuttuja nimeltä i alustetaan 1:ksi ja päivä on 2 lauseketunnisteissa
- Code Rivi 11–17: EL-tageissa on ”while-silmukka”, joka iteroi, kunnes asetetaan ehto, eli jos päivä on suurempi tai yhtä suuri kuin i, muuttuja on tosi (päivä > = i). Sen sisällä on ”if-ehto” (päivä on yhtä suuri kuin i) ja ”if-ehto” on tosi, tulostetaan lähtövirta ja poistutaan while-silmukasta. Muuten i-muuttujaa kasvatetaan ja silmukka iteroituu.
Kun suoritamme koodin, meillä on seuraava tulos
Lähtö on:
- Tämän koodin tulos on "sen Monday".
JSP OperaTors
JSP Operators tukee useimpia aritmeettisia ja loogisia operaattoreita, joita tukee Jaava ilmaisukielen (EL) tagien sisällä. Usein käytetyt operaattorit on mainittu alla:
Operaattorit ovat seuraavat:
| . | Pääsy papualueelle tai karttamerkintään |
| [] | Käytä taulukko- tai luetteloelementtiä |
| () | Muuta arviointijärjestystä ryhmittelemällä alilauseke |
| + | Lisäys |
| - | allatracarvon anto tai negaatio |
| * | Kertolasku |
| / tai div | Divisioona |
| % tai mod | Modulo (loput) |
| == tai ekv | Testaa tasa-arvoa |
| != tai ei | Testaa eriarvoisuutta |
| < tai lt | Testaa alle |
| > tai gt | Testaa suurempi kuin |
| <= tai le | Testaa arvoa pienempi tai yhtä suuri |
| >= tai ge | Testaa suurempi tai yhtä suuri |
| && tai ja | Testaa loogista JA |
| || tai tai | Testaa looginen TAI |
| ! tai ei | Yksinäinen Boolen komplementti |
| Tyhjä | Testaa tyhjiä muuttujan arvoja |
Tässä esimerkissä
- Ilmoitamme kaksi muuttujaa num1 ja num2 ja otamme sitten muuttujan num3, jossa käytämme JSP-operaattoria + by lisäämään numero1 ja num2 ja saamaan num3.
- Sitten tarkistamme ehdon, onko num3 ei yhtä suuri kuin 0, käyttämällä JSP-operaattoreita (!=, >) ja
- Otetaan sitten toinen muuttuja num4 kertomalla kaksi num1 ja num2, saadaan num4.
Nämä kaikki numerot tulee tulostaa tulosteemme:
<%@ 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>
Koodin selitys:
- Code Rivi 10: Muuttuja nimeltä num1 alustetaan 10:ksi ja num2 50:ksi lauseketunnisteissa
- Code Rivi 11: Muuttuja num3 on lukujen num1 ja num2 summa, jossa käytämme summausoperaattoria
- Code Rivi 12–16: EL-tageissa olemme käyttäneet TAI-ehtoa, joka on looginen operaattori, ja aritmeettisia operaattoreita tarkistamaan, onko num3 suurempi kuin 0 jos-ehdossa. TAI-ehtoa käytetään, kun jokin ehto on tosi. Tällaisessa tapauksessa se siirtyy "jos-tapaukseen", jossa kerrotaan kaksi lukua "num1" ja "num2" ja saadaan tuloste "num4":nä ja se tulostaa tulostevirran.
Kun suoritat yllä olevan koodin, sinulla on seuraava tulos.
lähtö:
- Ensimmäinen lähtö on numero 4 on 500 (muuttuja num4, joka on numero1*num2)
- Toinen lähtö on Numero 3 on 60 (muuttuja num3 joka numero1+num2)






