Ilmaisukieli JSP:ssä

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>

Koodin selitys:

  • Koodirivi 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:

JSP-lausekekieli

  • 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;

  1. Päätöksentekolausunnot
  2. 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:

  1. Tai muuten
  2. 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:

  • Koodirivi 10: Kuukausi-niminen muuttuja alustetaan 5:ksi lauseketunnisteissa
  • Koodirivi 11: EL-tunnisteissa on "jos ehto", joka ilmoittaa, että jos kuukausi on 2 (ehto testataan tässä tosi tai epätosi)
  • Koodirivi 12: Jos ehto on tosi, että muuttuva kuukausi on 2, se tulostaa tulosvirtaan
  • Koodirivit 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ö:

JSP Jos-muu

  • 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äärittäneet muuttuvan viikon, ja se yhdistetään tapaukseen, kumpi 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>

Koodin selitys:

  • Koodirivi 10: Viikko-niminen muuttuja alustetaan 2:ksi lauseketunnisteissa
  • Koodirivi 11: EL-tunnisteissa kytkentätapaus aloitetaan, jolloin parametrina välitetään viikko
  • Koodirivit 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ä.
  • Koodirivit 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ö:

JSP-kytkin

  • Tulos tässä tapauksessa on tiistai, jota kutsutaan 2. tapaukseksi.

Loop-lauseet

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:

  1. Koodirivi 10: Muuttuja nimeltä "num" alustetaan 5:ksi lauseketunnisteissa
  2. Koodirivit 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ö:

JSP silmukalle

  • 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:

  • Koodirivi 10: Muuttuja nimeltä i alustetaan 1:ksi ja päivä on 2 lauseketunnisteissa
  • Koodirivit 11-17: EL-tunnisteissa "while loop" toistuu, kunnes meillä on ehto asetettu, jos päivä on suurempi tai yhtä suuri kuin i muuttuja on tosi. (day>=i) Sen sisällä on "jos ehto" (päivä on yhtä suuri kuin i) ja "jos ehto" on tosi, se tulostaa tulosvirran ja poistuu while-silmukasta, muuten i-muuttujaa kasvatetaan ja silmukka iteroituu.

Kun suoritamme koodin, meillä on seuraava tulos

Lähtö on:

JSP While -silmukka

  • 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
- Arvon vähentäminen 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 tarkastetaan ehto, eikö num3 ole 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:

  • Koodirivi 10: Muuttuja nimeltä num1 alustetaan 10:ksi ja num2 50:ksi lauseketunnisteissa
  • Koodirivi 11: Muuttuja num3 on lukujen num1 ja num2 summa, jossa käytämme summausoperaattoria
  • Koodirivit 12-16: EL-tunnisteissa olemme käyttäneet OR-ehtoa, joka on loogista operaattoria, ja aritmeettisia operaattoreita tarkistaaksemme, onko num3 suurempi kuin 0 if-ehdossa. TAI-funktiota käytetään, kun jokin ehto on tosi, tässä tapauksessa se tulee "jos tapaus", jossa kerromme kaksi numeroa "num1" ja "num2" ja saamme tulosteen "num4" ja se tulostaa tulosvirran.

Kun suoritat yllä olevan koodin, sinulla on seuraava tulos.

lähtö:

JSP OperaTors

  • 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)

Yhteenveto

  • JSP Expression Language (EL) helpottaa Javabean-komponentteihin tallennettujen tietojen sovellusta.
  • Sen avulla voidaan myös luoda lausekkeita, jotka ovat sekä aritmeettisia että loogisia.
  • EL-tunnisteiden sisällä voimme käyttää kokonaislukuja. Liukulukuluvut, merkkijonot ja Boolen arvot.
  • JSP:ssä voimme myös käyttää silmukoita ja päätöksentekolausekkeita EL-tunnisteiden avulla