Výukový program JSP Expression Language (EL)

Obsah:

Anonim

Čo je Expression Language (EL)?

Expression Language (EL) je mechanizmus, ktorý zjednodušuje prístup k údajom uloženým v komponente Java bean a v inom objekte, ako je požiadavka, relácia a aplikácia atď. V JSP existuje veľa operátorov, ktoré sa v EL používajú ako aritmetické a logické operátory na vykonávanie výraz. Bol predstavený v JSP 2.0

V tomto návode sa naučíte

  • JSP Syntax výrazového jazyka (EL)
  • JSP Keby-ešte
  • Prepínač JSP
  • JSP pre slučku
  • JSP While loop
  • Prevádzkovatelia JSP

JSP Syntax výrazového jazyka (EL)

Syntax EL : $ (výraz)

  • V JSP sa čokoľvek prítomné v zložených zátvorkách vyhodnotí za behu odoslaného do výstupného toku.
  • Výraz je platný výraz EL a je možné ho zmiešať so statickým textom a kombinovať s iným výrazom.

Pre lepšiu predstavu, ako funguje výraz v JSP, uvidíme príklad nižšie.

V tomto príklade uvidíme, ako sa EL použije ako operátor na pridanie dvoch čísel (1 + 2) a na získanie výstupu.

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

Vysvetlenie kódu:

  • Riadok kódu 11: Expression Language (EL) je nastavený tak, že pridávame dve čísla 1 + 2, a preto bude mať výstup hodnotu 3.

Po vykonaní vyššie uvedeného kódu budete mať nasledujúci výstup.

Výstup :

  • Výraz je: 3 (pretože budú pridané čísla 1 + 2 a slúžia ako výstup)

Vyhlásenia o regulácii toku:

JSP poskytuje výkon jazyka Java, ktorý je možné vložiť do aplikácie. V programovaní JSP môžeme použiť všetky API a stavebné bloky Java vrátane príkazov riadiacich tokov, ktoré zahŕňajú rozhodovanie a príkazy slučky.

Ďalej sú popísané dva typy príkazov riadenia toku;

  1. Vyhlásenia prijímajúce rozhodnutia
  2. Príkazy slučky

Vyhlásenia o rozhodovaní:

Vyhlásenie rozhodovania v JSP je založené na tom, či je sada podmienok pravdivá alebo nepravdivá. Vyhlásenie sa bude správať zodpovedajúcim spôsobom.

Ďalej sú popísané dva typy rozhodovacích vyhlásení:

  1. Keby - inak
  2. prepínač

JSP Keby-ešte

Príkaz "If else" je základom všetkých príkazov riadiacich tokov a hovorí programu, aby vykonal určitú časť kódu, iba ak je konkrétny test vyhodnotený ako pravdivý.

Táto podmienka sa používa na testovanie viac ako jednej podmienky, či sú pravdivé alebo nepravdivé.

  • Ak je prvá podmienka pravdivá, potom sa vykoná „ak blok“ a
  • ak je nepravdivý, vykoná sa „else block“

Syntax príkazu if - else :

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

V tomto príklade

Budeme testovať podmienku „if else“ tak, že vezmeme premennú a skontrolujeme hodnotu, či sa premenná zhoduje s tým, čo je inicializovaná:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP2 <%! int mesiac = 5; %><% if (month == 2) {%> Je február <%} else {%> Každý mesiac iný ako február <%}%>

Vysvetlenie kódu:

  • Riadok kódu 10: Premenná pomenovaná mesiac je v značkách výrazu inicializovaná na 5
  • Riadok kódu 11: V značkách EL sa nachádza podmienka „if“, ktorá uvádza, že ak je mesiac rovný 2 (podmienka sa tu testuje ako pravdivá alebo nepravdivá).
  • Riadok kódu 12: Ak je splnená podmienka, že premenná mesiac je 2, bude sa tlačiť do výstupného toku
  • Riadok kódu 13-15: Ak vyššie uvedená podmienka, ak zlyhá, presunie sa do inej časti pre všetky ostatné prípady, keď sa príkaz vytlačí do výstupného toku a podmienka je uzavretá

Po vykonaní vyššie uvedeného kódu budete mať nasledujúci výstup.

Výkon:

  • Pretože mesiac máme 5, čo sa nerovná # 2 (február). Preto máme výstup „Akýkoľvek iný mesiac ako február“ (mesiac je uvedený ako 5, preto sa vykoná ešte ďalších).

Prepínač JSP

Telo príkazu switch sa nazýva „blok switch“.

  • Skrinka prepínača sa používa na kontrolu počtu možných ciest vykonania.
  • Prepínač je možné použiť so všetkými typmi údajov
  • Príkazy switch obsahujú viac ako jeden prípad a jeden predvolený prípad
  • Vyhodnotí výraz a potom vykoná všetky príkazy nasledujúce za zhodným prípadom

Syntax príkazu switch :

switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
  • Blok prepínača začína jedným parametrom, ktorým je operátor, ktorý musí byť odovzdaný a
  • Potom existujú rôzne prípady, ktoré poskytujú podmienku, a podľa toho, čo sa zhoduje s operátorom, sa daný prípad vykoná.

V nasledujúcom príklade

Definovali sme premennú týždeň a tá sa porovná s prípadom, podľa toho, čo je pravda. V tomto prípade je týždeň druhý, preto sa zhoduje druhý prípad a výstupom je utorok:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP3 <%! int týždeň = 2; %><% prepínač (týždeň) {prípad 0:out.println ("nedeľa");prestávka;prípad 1:out.println („pondelok“);prestávka;prípad 2:out.println („utorok“);prestávka;prípad 3:out.println ("streda");prestávka;prípad 4:out.println ("štvrtok");prestávka;prípad 5:out.println ("piatok");prestávka;predvolené:out.println ("sobota");}%>

Vysvetlenie kódu:

  • Riadok kódu 10: Premenná s názvom týždeň je v značkách výrazu inicializovaná na hodnotu 2
  • Riadok kódu 11: V značkách EL sa spustí prípad prepínača, kde sa týždeň odovzdáva ako parameter
  • Riadok kódu 12 - 29: Všetky prípady boli spomenuté počnúc prípadom 0 až prípadom 5, kde je hodnota parametra týždňa porovnaná s prípadmi, a podľa toho je vytlačený výstup. V tomto prípade je hodnota 2, preto sa v tomto prípade vykoná prípad 2. Tu je „out“ trieda JSP, ktorá zapisuje výstupný tok pre generovanú odpoveď, a „println“ je metóda tejto triedy.
  • Riadok kódu 30-32: Ak vyššie uvedené prípady zlyhajú, presunie sa do predvolenej časti a vykoná sa, kde sa príkaz vytlačí do výstupného toku a podmienka je uzavretá

Po vykonaní vyššie uvedeného kódu budete mať nasledujúci výstup.

Výkon:

  • Výstupom je v tomto prípade utorok, keď sa volá druhý prípad.

Príkazy slučky

JSP pre slučku

Používa sa na iteráciu prvkov za určitých podmienok a má tri parametre.

  • Inicializuje sa počítadlo premenných
  • Podmienka do vykonania slučky
  • Počítadlo sa musí zvyšovať

Pre syntax slučky:

For(inti=0;i

V tomto príklade

Máme cyklus, ktorý iteruje, kým je počítadlo menšie ako dané číslo:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP4 <%! int num = 5; %><% out.println ("Čísla sú:");pre (int i = 0; i 

Vysvetlenie kódu:

  • Riadok kódu 10: Premenná s názvom „num“ je v značkách výrazu inicializovaná na 5
  • Riadok kódu 11-14: V značkách EL je „out“ trieda JSP a „println“ je metóda, pri ktorej sa tlačí vo výstupnom prúde a začína sa cyklus for, ktorý má tri parametre:
    • Premenná i je inicializovaná na 0,
    • Je daná podmienka, keď i musí byť menšie ako lokálna premenná num,
    • A ja sa zvyšuje pri každej iterácii časovej slučky.

V tele „forloop“ existuje trieda JSP, ktorá sa tlačí do výstupného toku pomocou metódy println, kde tlačíme premennú i.

Po vykonaní vyššie uvedeného kódu budete mať nasledujúci výstup.

Výkon:

  • Výstupné čísla sú 0 1 2 3 4. V tomto príklade dávame podmienku, že kým je počítadlo menšie ako rovné premennej, musí sa vykonať slučka „for“. Číslo je 5, takže slučka začne od 0 do 4 (5-krát). Preto výstup.

JSP While loop

Používa sa na iteráciu prvkov, v ktorých má jeden parameter podmienky.

Syntax:

While(i

V tomto príklade

Máme chvíľu smyčku, ktorá bude iterovať, kým deň nebude väčší ako počítadlo:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP5 <%! int deň = 2; int i = 1; %><% while (day> = i) {if (deň == i) {out.println ("Jeho pondelok");prestávka;}i ++;}%>

Vysvetlenie kódu:

  • Riadok kódu 10: Premenná s názvom i je v značkách výrazu inicializovaná na 1 a deň je 2
  • Riadok kódu 11-17: V značkách EL bude iterácia „while loop“, kým nebudeme mať nastavenú podmienku, ako keby bol deň väčší alebo rovný premennej i bude pravda. (deň> = i)

    V rámci toho existuje „ak podmienka“ (deň sa rovná i) a „ak je podmienka“ pravda, vytlačí výstupný prúd a opustí slučku while, inak sa premenná i zvýši a opakuje sa.

Keď vykonáme kód, budeme mať nasledujúci výstup

Výstup je:

  • Výstupom tohto kódu bude „jeho pondelok“.

Prevádzkovatelia JSP

Operátory JSP podporujú väčšinu aritmetických a logických operátorov, ktoré podporuje java v rámci značiek jazyka EL (Express Language).

Nižšie sú uvedené často používané operátory:

Nasledujú operátori:

. Získajte prístup k vlastnosti fazule alebo záznamu na mape
[] Pristúpte na pole alebo prvok Zoznam
() Zoskupte podvýraz, aby ste zmenili poradie vyhodnotenia
+ Dodatok
- Odčítanie alebo negácia hodnoty
* Násobenie
/ alebo div Divízia
% alebo mod Modulo (zvyšok)
== alebo ekv Test rovnosti
! = alebo ne Skúška nerovnosti
Skúška na menej ako
> alebo gt Test na viac ako
<= alebo le Vyskúšajte, či je menší alebo rovný
> = alebo ge Skúška na väčšiu alebo rovnú
&& alebo a Vyskúšajte logické AND
|| alebo alebo Test na logické ALEBO
! alebo nie Unárny boolovský doplnok
Prázdny Test na prázdne hodnoty premenných

V tomto príklade

  • Deklarujeme dve premenné num1 a num2 a potom vezmeme premennú num3, kde pomocou operátora JSP + by pridáme num1 a num2 a dostaneme num3.
  • Potom skontrolujeme podmienku, či sa num3 nerovná 0 pomocou JSP operátorov (! =,>) A
  • Potom vezmite ďalšiu premennú num4 vynásobením dvoch num1 a num2, čím dostaneme num4.

Všetky tieto čísla by sa mali vytlačiť ako náš výstup:

<% @ 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 ("Číslo 4 je" + num4);out.println ("Číslo 3 je" + num3);}%>

Vysvetlenie kódu:

  • Riadok kódu 10: Premenná s názvom num1 je v značkách výrazu inicializovaná na 10 a num2 na 50
  • Riadok kódu 11: Premenná num3 je súčtom num1 a num2, kde používame operátor sčítania
  • Riadok kódu 12-16: V značkách EL sme použili podmienku OR, ktorá je logickým operátorom, a aritmetické operátory, aby sme skontrolovali, či je num3 v podmienke if väčšia ako 0. OR sa použije, ak je splnená jedna podmienka, v takom prípade vstúpi do „ak“, kde vynásobíme dve čísla „num1“ a „num2“ a dostaneme výstup v „num4“ a vypíše výstupný prúd.

Po vykonaní vyššie uvedeného kódu budete mať nasledujúci výstup.

Výkon:

  • Prvý výstup je číslo 4 je 500 (premenná num4, ktorá je num1 * num2)
  • Druhý výstup je číslo 3 je 60 (premenná num3 ktorá num1 + num2)

Zhrnutie:

  • Jazyk JSP Expression Language (EL) uľahčuje prístup k aplikácii pre údaje uložené v komponentoch javabeans.
  • Umožňuje tiež vytvárať výrazy, ktoré sú aritmetické aj logické.
  • V značkách EL môžeme použiť celé čísla. Čísla s pohyblivou rádovou čiarkou, reťazce a logické hodnoty.
  • V JSP môžeme tiež použiť slučky a rozhodovacie výkazy pomocou EL značiek