Zelfstudie voor JSP Expression Language (EL)

Inhoudsopgave:

Anonim

Wat is Expression Language (EL)?

Expression Language (EL) is een mechanisme dat de toegankelijkheid vereenvoudigt van de gegevens die zijn opgeslagen in de Java-bean-component en andere objecten zoals verzoek, sessie en applicatie, enz. Er zijn veel operators in JSP die in EL worden gebruikt, zoals rekenkundige en logische operators om een uitdrukking. Het werd geïntroduceerd in JSP 2.0

In deze tutorial leer je-

  • JSP-syntaxis van Expression Language (EL)
  • JSP If-else
  • JSP-schakelaar
  • JSP For-lus
  • JSP While-lus
  • JSP-operators

JSP-syntaxis van Expression Language (EL)

Syntaxis van EL : $ (uitdrukking)

  • In JSP wordt alles wat in de accolades aanwezig is, geëvalueerd tijdens runtime dat naar de uitvoerstroom wordt verzonden.
  • De uitdrukking is een geldige EL-uitdrukking en kan worden gemengd met een statische tekst en kan worden gecombineerd met een andere uitdrukking om een ​​grotere uitdrukking te vormen.

Om een ​​beter idee te krijgen over hoe expressie werkt in JSP, zullen we het onderstaande voorbeeld zien.

In dit voorbeeld zullen we zien hoe EL wordt gebruikt als een operator om twee getallen (1 + 2) toe te voegen en respectievelijk de uitvoer te krijgen.

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

Verklaring van de code:

  • Coderegel 11: Expression Language (EL) is ingesteld waar we twee getallen 1 + 2 optellen, dus het geeft uitvoer als 3.

Wanneer u de bovenstaande code uitvoert, heeft u de volgende uitvoer.

Uitgang :

  • Uitdrukking is: 3 (aangezien de nummers 1 + 2 worden toegevoegd en als uitvoer dienen)

Verklaringen voor stroomregeling:

JSP biedt de kracht van Java om in de applicatie te worden ingebed. We kunnen alle API's en bouwstenen van Java gebruiken in JSP-programmering, inclusief controlestroominstructies die besluitvorming en de lusinstructies omvatten.

Er zijn twee soorten flow control statements die hieronder worden beschreven;

  1. Besluitvormende verklaringen
  2. Loop-verklaringen

Besluitvormende verklaringen:

Besluitvormingsverklaring in JSP is gebaseerd op het feit of de voorwaardenset waar of onwaar is. De verklaring zal zich dienovereenkomstig gedragen.

Hieronder worden twee soorten besluitvormingsverklaringen beschreven:

  1. Als - anders
  2. schakelaar

JSP If-else

De "If else" -instructie is de basis van alle controlestroominstructies en vertelt het programma om het bepaalde gedeelte van de code alleen uit te voeren als de specifieke test als waar evalueert.

Deze voorwaarde wordt gebruikt om voor meer dan één voorwaarde te testen of ze waar of niet waar zijn.

  • Als de eerste voorwaarde waar is, wordt "if block" uitgevoerd en
  • als het onwaar is, wordt "else block" uitgevoerd

Syntaxis voor if - else-instructie :

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

In dit voorbeeld

We gaan de "if else" -voorwaarde testen door de variabele te nemen en de waarde te controleren als de variabele overeenkomt met wat deze is geïnitialiseerd:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP2 ​ int maand = 5; ​<% if (maand == 2) {%> Het is februari <%} else {%> Elke andere maand dan februari 

Uitleg van de code:

  • Coderegel 10: variabele met de naam maand wordt geïnitialiseerd op 5 in de expressie-tags
  • Coderegel 11: In de EL-tags is er "als voorwaarde" die aangeeft dat als de maand gelijk is aan 2 (voorwaarde wordt hier getest als waar of niet waar)
  • Coderegel 12: Als de voorwaarde waar is, dat wil zeggen dat de variabele maand 2 is, dan wordt er afgedrukt naar de uitvoerstroom
  • Coderegel 13-15: Als de bovenstaande voorwaarde mislukt, gaat het naar een ander deel voor alle andere gevallen waarin de instructie wordt afgedrukt naar de uitvoerstroom en de voorwaarde wordt gesloten

Wanneer u de bovenstaande code uitvoert, heeft u de volgende uitvoer.

Uitgang:

  • Sinds de maand die we hebben is 5, wat niet gelijk is aan # 2 (februari). Daarom hebben we de uitvoer "Elke maand behalve februari" (maand wordt genoemd als 5, dus anders wordt uitgevoerd)

JSP-schakelaar

De body van de switch-instructie wordt een "switchblok" genoemd.

  • De switchcase wordt gebruikt om het aantal mogelijke uitvoeringspaden te controleren.
  • Een switch kan met alle datatypes worden gebruikt
  • De switch-instructies bevatten meer dan één case en één standaard case
  • Het evalueert de uitdrukking en voert vervolgens alle instructies uit die volgen op het overeenkomende hoofdlettergebruik

Syntaxis voor switch-instructie :

switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
  • Schakelblok begint met één parameter, namelijk de operator die moet worden doorgegeven en
  • Dan zijn er verschillende gevallen die een voorwaarde geven en welke overeenkomt met de operator die case wordt uitgevoerd.

In onderstaand voorbeeld,

We hebben een variabele week gedefinieerd en deze wordt gematcht met het geval, afhankelijk van wat waar is. In dit geval is week 2, dus wordt het tweede geval gematcht, en de output is dinsdag:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP3 ​ int week = 2; ​<% switch (week) {geval 0:out.println ("zondag");breken;zaak 1:out.println ("maandag");breken;geval 2:out.println ("dinsdag");breken;geval 3:out.println ("woensdag");breken;geval 4:out.println ("donderdag");breken;geval 5:out.println ("vrijdag");breken;standaard:out.println ("zaterdag");​​

Verklaring van de code:

  • Coderegel 10: Variabele met de naam week wordt geïnitialiseerd op 2 in de expressie-tags
  • Codelijn 11: In de EL-tags wordt de schakelkast gestart waarbij week als parameter wordt doorgegeven
  • Coderegel 12 - 29: Alle gevallen zijn genoemd, beginnend bij geval 0 tot geval 5, waarbij de waarde van de parameter week wordt vergeleken met de gevallen, en dienovereenkomstig wordt de uitvoer afgedrukt. In dit geval is de waarde 2, dus geval 2 wordt in dit geval uitgevoerd. Hier is "out" de klasse van JSP die de uitvoerstroom schrijft voor gegenereerde respons en "println" is een methode van die klasse.
  • Coderegel 30-32: Als de bovenstaande gevallen mislukken, gaat het naar het standaardgedeelte en wordt het uitgevoerd, waar de instructie wordt afgedrukt naar de uitvoerstroom en de voorwaarde wordt gesloten

Wanneer u de bovenstaande code uitvoert, heeft u de volgende uitvoer.

Uitgang:

  • De uitvoer is in dit geval dinsdag als 2e geval wordt aangeroepen.

Loop-verklaringen

JSP For-lus

Het wordt gebruikt om de elementen voor een bepaalde conditie te herhalen en heeft drie parameters.

  • Variabele teller wordt geïnitialiseerd
  • Conditie totdat de lus moet worden uitgevoerd
  • Teller moet worden verhoogd

For loop-syntaxis:

For(inti=0;i

In dit voorbeeld

We hebben een lus die itereert totdat de teller kleiner is dan het opgegeven aantal:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP4 ​ int num = 5; ​<% out.println ("Getallen zijn:");voor (int i = 0; i 

Uitleg voor de code:

  • Coderegel 10: Variabele met de naam "num" wordt geïnitialiseerd op 5 in de expressie-tags
  • Coderegel 11-14: In de EL-tags is "out" de klasse van JSP en is "println" de methode van out die wordt afgedrukt in de uitvoerstroom en de for-lus wordt gestart die drie parameters heeft:
    • Variabele i wordt geïnitialiseerd op 0,
    • Er wordt een voorwaarde gegeven waarbij i kleiner moet zijn dan de lokale variabele num,
    • En ik wordt elke keer dat de lus wordt herhaald, opgehoogd.

In de body van "forloop" is er een klasse JSP die in de uitvoerstroom afdrukt met behulp van methode println, waar we de variabele i afdrukken.

Wanneer u de bovenstaande code uitvoert, heeft u de volgende uitvoer.

Uitgang:

  • Uitgangsnummers zijn 0 1 2 3 4. In dit voorbeeld geven we de voorwaarde dat totdat de teller kleiner is dan gelijk aan een variabele, de "for-lus" moet worden uitgevoerd. Het aantal is 5, dus de lus begint bij 0 en loopt tot 4 (5 keer). Vandaar de output.

JSP While-lus

Het wordt gebruikt om de elementen te herhalen waarin het één parameter van de conditie heeft.

Syntaxis:

While(i

In dit voorbeeld

We hebben een while-lus die zal herhalen tot de dag groter is dan gelijk aan de teller:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP5 ​ int dag = 2; int i = 1; ​<% while (day> = i) {if (dag == i) {out.println ("Het is maandag");breken;}i ++;}​

Uitleg van de code:

  • Coderegel 10: variabele met de naam i wordt geïnitialiseerd op 1 en dag is 2 in de expressie-tags
  • Coderegel 11-17: In de EL-tags is er "while-lus" die wordt herhaald totdat we een voorwaarde hebben ingesteld alsof de dag groter of gelijk is aan de variabele i zal waar zijn. (dag> = i)

    Daarbinnen is er "if condition" (dag is gelijk aan i) en "if condition" is waar, dan zal het de outputstroom afdrukken, en zal het de while-lus verlaten, anders wordt de i-variabele opgehoogd en wordt de lus herhaald.

Wanneer we de code uitvoeren, hebben we de volgende uitvoer

Uitvoer is:

  • De output van deze code zal "zijn maandag" zijn.

JSP-operators

JSP Operators ondersteunt de meeste van zijn rekenkundige en logische operators die worden ondersteund door Java binnen Express Language (EL) -tags.

Veelgebruikte operators worden hieronder genoemd:

Hieronder volgen de operators:

Toegang tot een bean-eigenschap of kaartitem
Toegang tot een array of lijstelement
Groepeer een subexpressie om de evaluatievolgorde te wijzigen
Toevoeging
Aftrekken of ontkennen van een waarde
Vermenigvuldiging
/ of div Divisie
% of mod Modulo (rest)
== of eq Test op gelijkheid
! = of ne Test op ongelijkheid
Test voor minder dan
> of gt Test voor groter dan
<= of le Test voor minder dan of gelijk
> = of ge Test voor groter dan of gelijk
&& of en Test op logische AND
​ of of Test voor logische OR
​ of niet Unair Booleaans complement
Leeg Test op lege variabelewaarden

In dit voorbeeld

  • We declareren twee variabelen num1 en num2 en nemen vervolgens een variabele num3, waarbij we de JSP-operator + door gebruiken om num1 en num2 toe te voegen en num3 te krijgen.
  • Vervolgens controleren we een voorwaarde of num3 niet gelijk is aan 0 met behulp van JSP-operatoren (! =,>) En
  • Neem dan een andere variabele num4 door twee num1 en num2 te vermenigvuldigen, we krijgen num4.

Deze alle nummers moeten worden afgedrukt als onze uitvoer:

<% @ 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 ("Nummer 4 is" + num4);out.println ("Nummer 3 is" + num3);​

Uitleg van de code:

  • Coderegel 10: Variabele met de naam num1 wordt geïnitialiseerd op 10 en num2 op 50 in de expressie-tags
  • Coderegel 11: De variabele num3 is de som van num1 en num2 waarbij we de opteloperator gebruiken
  • Coderegel 12-16: In de EL-tags hebben we een OF-voorwaarde gebruikt die een logische operator is en rekenkundige operators om te controleren of num3 groter is dan 0 in de if-voorwaarde. De OF wordt gebruikt als een van de voorwaarden waar is, in dat geval zal het de "if case" invoeren, waar we twee getallen "num1" en "num2" vermenigvuldigen en uitvoer krijgen in "num4" en het zal de uitvoerstroom afdrukken.

Wanneer u de bovenstaande code uitvoert, heeft u de volgende uitvoer.

Uitgang:

  • De eerste uitvoer is nummer 4 is 500 (variabele num4 die num1 * num2 is)
  • De tweede uitvoer is nummer 3 is 60 (variabele num3 welke num1 + num2)

Overzicht:

  • JSP Expression Language (EL) maakt het gemakkelijk om toegang te krijgen tot de applicatie voor de gegevens die zijn opgeslagen in de Javabeans-componenten.
  • Het maakt het ook mogelijk om uitdrukkingen te maken die zowel rekenkundig als logisch zijn.
  • Binnen EL-tags kunnen we gehele getallen gebruiken. Drijvende-kommagetallen, tekenreeksen en Booleaanse waarden.
  • In JSP kunnen we ook loops en besluitvormingsverklaringen gebruiken met behulp van EL-tags