JSP Expression Language (EL)-Tutorial

Was ist Ausdruckssprache (EL)?

Expression Language (EL) ist ein Mechanismus, der den Zugriff auf die darin gespeicherten Daten vereinfacht Javac Bean-Komponente und andere Objekte wie Anfrage, Sitzung und Anwendung usw. Es gibt viele Operatoren in JSP, die in EL verwendet werden, wie arithmetische und logische Operatoren, um einen Ausdruck auszuführen. Es wurde in JSP 2.0 eingeführt

JSP-Syntax der Ausdruckssprache (EL)

Syntax von EL :$(Ausdruck)

  • In JSP wird alles, was in den geschweiften Klammern steht, zur Laufzeit ausgewertet und an den Ausgabestream gesendet.
  • Der Ausdruck ist ein gültiger EL-Ausdruck und kann mit einem statischen Text gemischt und mit anderen Ausdrücken kombiniert werden, um einen größeren Ausdruck zu bilden.

Um eine bessere Vorstellung davon zu bekommen, wie Ausdruck in JSP funktioniert, sehen wir uns das folgende Beispiel an.

In diesem Beispiel sehen wir, wie EL als Operator verwendet wird, um zwei Zahlen (1+2) zu addieren und die entsprechende Ausgabe zu erhalten.

<%@ 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>

Erläuterung des Codes:

  • Codezeile 11: Expression Language (EL) ist so eingestellt, dass wir zwei Zahlen 1+2 addieren, daher wird die Ausgabe 3 sein.

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendeswing Ausgabe.

Output:

JSP-Ausdruckssprache

  • Ausdruck ist: 3 (Da die Zahlen 1+2 addiert werden und als Ausgabe dienen)

Anweisungen zur Flusskontrolle:

JSP bietet die Leistungsfähigkeit von Java zur Einbettung in die Anwendung. Wir können alle APIs und Bausteine ​​von Java verwenden JSP-Programmierung einschließlich Kontrollflussanweisungen, die die Entscheidungsfindung und die Schleifenanweisungen umfassen.

Im Folgenden werden zwei Arten von Flusskontrollanweisungen beschrieben.

  1. Entscheidungsaussagen
  2. Schleifenanweisungen

Entscheidungsaussagen:

Die Entscheidungsaussage in JSP basiert darauf, ob der Bedingungssatz wahr oder falsch ist. Die Anweisung verhält sich entsprechend.

Es gibt zwei Arten von Entscheidungserklärungen, die im Folgenden beschrieben werden:

  1. Ansonsten
  2. wechseln

JSP If-else

Die „If else“-Anweisung ist die Basis aller Kontrollflussanweisungen und weist das Programm an, den bestimmten Codeabschnitt nur dann auszuführen, wenn der jeweilige Test „true“ ergibt.

Diese Bedingung wird verwendet, um für mehr als eine Bedingung zu testen, ob sie wahr oder falsch sind.

  • Wenn die erste Bedingung wahr ist, wird „if block“ ausgeführt und
  • Wenn es falsch ist, wird der „else-Block“ ausgeführt

Syntax für die if-else-Anweisung:

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

In diesem Beispiel

Wir werden die Bedingung „Wenn sonst“ testen, indem wir eine Variable nehmen und den Wert prüfen, ob die Variable mit dem übereinstimmt, was sie initialisiert hat:

<%@ 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>

Erklärung des Codes:

  • Codezeile 10: Die Variable mit dem Namen „Monat“ wird in den Ausdrucks-Tags auf 5 initialisiert
  • Codezeile 11: In den EL-Tags gibt es eine „Wenn-Bedingung“, die angibt, dass der Monat gleich 2 ist (die Bedingung wird hier als wahr oder falsch getestet).
  • Codezeile 12: Wenn die Bedingung wahr ist, d. h. die Variable „Monat“ ist 2, wird sie im Ausgabestream ausgegeben
  • Codezeile 13-15: Wenn die obige if-Bedingung fehlschlägt, wird sie in allen anderen Fällen, in denen die Anweisung im Ausgabestream ausgegeben wird und die Bedingung geschlossen ist, in den else-Teil verschoben

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendeswing Ausgabe.

Ausgang:

JSP If-else

  • Da der Monat, den wir haben, 5 ist, ist er nicht gleich #2 (Februar). Daher erhalten wir die Ausgabe „Jeder Monat außer Februar“ (der Monat wird als 5 angegeben, daher werden andere ausgeführt).

JSP-Switch

Der Hauptteil der Switch-Anweisung wird als „Switch-Block“ bezeichnet.

  • Der Switch-Fall wird verwendet, um die Anzahl der möglichen Ausführungspfade zu überprüfen.
  • Ein Schalter kann mit allen Datentypen verwendet werden
  • Die Switch-Anweisungen enthalten mehr als einen Fall und einen Standardfall
  • Es wertet den Ausdruck aus und führt dann alle folgenden Anweisungen auswing das passende Etui

Syntax für die Switch-Anweisung:

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;
}
  • Der Schalterblock beginnt mit einem Parameter, dem Operator, der übergeben werden muss
  • Dann gibt es verschiedene Fälle, die eine Bedingung bereitstellen und je nachdem, welcher mit dem Operator übereinstimmt, wird dieser Fall ausgeführt.

Im folgenden Beispiel:

Wir haben eine Variable Woche definiert und sie wird mit dem Fall abgeglichen, je nachdem, was wahr ist. In diesem Fall ist Woche 2, also 2nd case stimmt überein und die Ausgabe ist Dienstag:

<%@ 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>

Erläuterung des Codes:

  • Codezeile 10: Die Variable mit dem Namen Woche wird in den Ausdrucks-Tags auf 2 initialisiert
  • Codezeile 11: In den EL-Tags wird der Switch-Fall gestartet, indem die Woche als Parameter übergeben wird
  • Codezeile 12 – 29: Alle Fälle wurden erwähnt, beginnend mit Fall 0 bis Fall 5, wobei der Wert des Wochenparameters mit den Fällen abgeglichen wird und die Ausgabe dementsprechend gedruckt wird. In diesem Fall ist der Wert 2, daher wird in diesem Fall Fall 2 ausgeführt. Hier ist „out“ die JSP-Klasse, die den Ausgabestream für die generierte Antwort schreibt, und „println“ ist eine Methode dieser Klasse.
  • Codezeile 30-32: Wenn alle oben genannten Fälle fehlschlagen, wird zum Standardteil verschoben und ausgeführt, wo die Anweisung im Ausgabestream ausgegeben wird und die Bedingung geschlossen wird

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendeswing Ausgabe.

Ausgang:

JSP-Switch

  • Die Ausgabe ist in diesem Fall Dienstag, wie der 2. Fall genannt wird.

Schleifenanweisungen

JSP For-Schleife

Es wird zum Iterieren der Elemente für eine bestimmte Bedingung verwendet und verfügt über drei Parameter.

  • Variablenzähler wird initialisiert
  • Bedingung, bis die Schleife ausgeführt werden muss
  • Zähler muss inkrementiert werden

For-Schleifensyntax:

For(inti=0;i<n;i++)
{
           //block of statements
}

In diesem Beispiel,

Wir haben eine for-Schleife, die iteriert, bis der Zähler kleiner als die angegebene Zahl ist:

<%@ 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>

Erklärung zum Code:

  1. Codezeile 10: Die Variable mit dem Namen „num“ wird in den Ausdrucks-Tags auf 5 initialisiert
  2. Codezeile 11-14: In den EL-Tags ist „out“ die Klasse von JSP und „println“ die Methode von out, die im Ausgabestream druckt und eine for-Schleife startet, die drei Parameter hat:
    • Variable i wird auf 0 initialisiert,
    • Die Bedingung ist gegeben, dass i kleiner als die lokale Variable num sein muss.
    • Und i wird jedes Mal erhöht, wenn die Schleife iteriert.

Im Hauptteil von „forloop“ gibt es eine JSP-Klasse, die mithilfe der Methode println in den Ausgabestream druckt, wobei wir die Variable i drucken.

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendeswing Ausgabe.

Ausgang:

JSP For-Schleife

  • Die Ausgabezahlen sind 0 1 2 3 4. In diesem Beispiel geben wir die Bedingung an, dass die „for-Schleife“ ausgeführt werden muss, bis der Zähler kleiner als gleich einer Variablen ist. Die Zahl ist 5, also beginnt die Schleife bei 0 und läuft bis 4 (5 Mal). Daher die Ausgabe.

JSP While-Schleife

Es wird verwendet, um zu iterieren Elemente wobei es einen Parameter der Bedingung hat.

Syntax:

While(i<n)
{
      //Block of statements
}

In diesem Beispiel

Wir haben eine while-Schleife, die so lange iteriert, bis der Tag größer als gleich dem Zähler ist:

<%@ 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>

Erklärung des Codes:

  • Codezeile 10: Die Variable mit dem Namen i wird in den Ausdrucks-Tags auf 1 initialisiert und der Tag ist 2
  • Codezeile 11-17: In den EL-Tags gibt es eine „While-Schleife“, die so lange iteriert, bis die Bedingung festgelegt ist, dass die Variable wahr ist, wenn der Tag größer oder gleich i ist. (Tag>=i) Darin gibt es „wenn Bedingung“ (Tag ist gleich i) und „wenn Bedingung“ wahr ist, wird der Ausgabestream gedruckt und die while-Schleife verlassen, andernfalls wird die i-Variable inkrementiert und Schleife iteriert.

Wenn wir den Code ausführen, erhalten wir Folgendeswing Ausgabe

Ausgabe ist:

JSP While-Schleife

  • Die Ausgabe dieses Codes ist „its Monday".

JSP-Operatoren

JSP Operators unterstützt die meisten seiner arithmetischen und logischen Operatoren, die von Java in Expression Language (EL)-Tags unterstützt werden.

Im Folgenden werden häufig verwendete Operatoren aufgeführt:

Following sind die Operatoren:

. Greifen Sie auf eine Bean-Eigenschaft oder einen Map-Eintrag zu
[] Greifen Sie auf ein Array- oder Listenelement zu
() Gruppieren Sie einen Unterausdruck, um die Auswertungsreihenfolge zu ändern
+ Zusatz
- Subtraktion oder Negation eines Wertes
* Vervielfältigen
/ oder div Division
% oder mod Modulo (Rest)
== oder Gl Testen Sie auf Gleichheit
!= oder ne Testen Sie auf Ungleichheit
< oder lt Testen Sie für weniger als
> oder gt Testen Sie auf größer als
<= oder le Testen Sie auf kleiner oder gleich
>= oder ge Testen Sie auf größer oder gleich
&& oder und Testen Sie auf logisches UND
|| oder oder Testen Sie auf logisches ODER
! oder nicht Unäres boolesches Komplement
leer Testen Sie auf leere Variablenwerte

In diesem Beispiel

  • Wir deklarieren zwei Variablen num1 und num2 und nehmen dann eine Variable num3, wobei wir den JSP-Operator + by verwenden, um num1 und num2 zu addieren und num3 zu erhalten.
  • Dann prüfen wir mithilfe der JSP-Operatoren (!= , >) und eine Bedingung, ob num3 ungleich 0 ist
  • Dann nehmen wir eine weitere Variable num4, indem wir zwei num1 und num2 multiplizieren und so num4 erhalten.

Diese Zahlen sollten als unsere Ausgabe ausgedruckt werden:

<%@ 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>

Erklärung des Codes:

  • Codezeile 10: Die Variable mit dem Namen „num1“ wird in den Ausdrucks-Tags auf 10 und „num2“ auf 50 initialisiert
  • Codezeile 11: Die Variable num3 ist die Summe von num1 und num2, wobei wir den Additionsoperator verwenden
  • Codezeile 12-16: In den EL-Tags haben wir eine OR-Bedingung verwendet, bei der es sich um einen logischen Operator und arithmetische Operatoren handelt, um zu prüfen, ob num3 in der if-Bedingung größer als 0 ist. Das OR wird verwendet, wenn eine Bedingung wahr ist. In diesem Fall wird der „Wenn-Fall“ eingegeben, in dem wir zwei Zahlen „num1“ und „num2“ multiplizieren und die Ausgabe in „num4“ erhalten, und der Ausgabestream wird gedruckt.

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendeswing Ausgabe.

Ausgang:

JSP-Operatoren

  • Die erste Ausgabe ist Nummer 4 ist 500 (Variable num4, die num1*num2 ist)
  • Die zweite Ausgabe ist Nummer 3 ist 60 (Variable Nummer3 mit Nummer1+Nummer2)

Zusammenfassung

  • JSP Expression Language (EL) erleichtert den Zugriff auf die in den Javabeans-Komponenten gespeicherten Daten in der Anwendung.
  • Es ermöglicht auch die Erstellung von Ausdrücken, die sowohl arithmetisch als auch logisch sind.
  • Innerhalb von EL-Tags können wir Ganzzahlen verwenden. Gleitkommazahlen, Zeichenfolgen und boolesche Werte.
  • In JSP können wir mithilfe von EL-Tags auch Schleifen und Entscheidungsanweisungen verwenden