Č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;
- Vyhlásenia prijímajúce rozhodnutia
- 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í:
- Keby - inak
- 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;iV 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; iVysvetlenie 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(iV 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