Ausdruckssprache in JSP

โšก Intelligente Zusammenfassung

Die Ausdruckssprache in JSP vereinfacht den Zugriff auf gespeicherte Daten. JavaBeans und implizite Objekte wie request, session und application. Eingefรผhrt in JSP 2.0, unterstรผtzt es arithmetische, logische und relationale Operatoren sowie Entscheidungs- und Schleifenanweisungen innerhalb von EL-Tags.

  • ๐Ÿงฎ EL definiert: Vereinfacht den Zugriff auf JavaBeans und implizite Objekte; hinzugefรผgt in JSP 2.0.
  • ๐Ÿ”ฃ Syntax: Schreiben Sie Ausdrรผcke innerhalb von ${ }, um sie zur Laufzeit auszuwerten und das Ergebnis auszugeben.
  • ๐Ÿ”€ Entscheidungsfindung: if-else- und switch-Anweisungen steuern den Seitenfluss.
  • ๐Ÿ” Schleifen: for- und while-Anweisungen durchlaufen Bedingungen.
  • โž• OperaTore: Arithmetische, relationale und logische Operatoren (eq, lt, and, or, empty).

Ausdruckssprache in JSP

Was ist Ausdruckssprache (EL)?

Expression Language (EL) ist ein Mechanismus, der den Zugriff auf die darin gespeicherten Daten vereinfacht Java Bean-Komponente und andere Objekte wie Anforderung, 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 : ${expression}

  • 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 Ausdrรผcke in JSP funktionieren, 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 jeweils die 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>

Erklรคrung von Code:

  • Code Linie 11: Die Expression Language (EL) ist so eingestellt, dass wir die beiden Zahlen 1 und 2 addieren, daher ergibt die Ausgabe 3.

Wenn Sie den obigen Code ausfรผhren, erhalten Sie die folgende Ausgabe.

Ausgang:

JSP-Ausdruckssprache

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

Anweisungen zur Flusskontrolle:

JSP bietet die Leistung von Java in die Anwendung eingebettet werden. Wir kรถnnen alle APIs und Bausteine โ€‹โ€‹von Java in 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 testen wir die โ€žif elseโ€œ-Bedingung, indem wir die Variable nehmen und den Wert prรผfen, wenn die Variable mit ihrem Initialisierungswert รผbereinstimmt:

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

  • Code Linie 10: Die Variable mit dem Namen โ€žMonatโ€œ wird in den Ausdrucks-Tags auf 5 initialisiert
  • Code Linie 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).
  • Code Linie 12: Wenn die Bedingung wahr ist, d. h. die Variable โ€žMonatโ€œ ist 2, wird sie im Ausgabestream ausgegeben
  • Code Zeile 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 die folgende Ausgabe.

Ausgang:

JSP If-else

  • Da der Monat, den wir haben, 5 ist, was nicht gleich #2 (Februar) ist. Daher haben wir die Ausgabe โ€žJeder Monat auรŸer Februarโ€œ (Monat wird als 5 angegeben, daher wird alles 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 Anweisungen aus, die dem entsprechenden Fall folgen.

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 Switch-Block beginnt mit einem Parameter, dem Operator, der รผbergeben werden muss, und
  • Dann gibt es verschiedene Fรคlle, die eine Bedingung erfรผllen, und der Fall, der mit dem Operator รผbereinstimmt, wird ausgefรผhrt.

Im folgenden Beispiel haben wir eine Variable โ€žWocheโ€œ definiert, die dem jeweiligen Fall zugeordnet wird, der zutrifft. In diesem Fall ist โ€žWocheโ€œ gleich 2, daher 2.nd 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>

Erklรคrung von Code:

  • Code Linie 10: Die Variable mit dem Namen Woche wird in den Ausdrucks-Tags auf 2 initialisiert
  • Code Linie 11: In den EL-Tags wird der Switch-Fall gestartet, indem die Woche als Parameter รผbergeben wird
  • Code Zeile 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.
  • Code Zeile 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 die folgende 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 haben wir 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. Code Linie 10: Die Variable mit dem Namen โ€žnumโ€œ wird in den Ausdrucks-Tags auf 5 initialisiert
  2. Code Zeile 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 die folgende Ausgabe.

Ausgang:

JSP For-Schleife

  • Ausgang Numbers 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 haben wir eine While-Schleife, die so lange iteriert, bis der Tag grรถรŸer oder 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:

  • Code Linie 10: Die Variable mit dem Namen i wird in den Ausdrucks-Tags auf 1 initialisiert und der Tag ist 2
  • Code Zeile 11-17: In den EL-Tags befindet sich eine while-Schleife, die so lange lรคuft, bis eine Bedingung erfรผllt ist: Wenn der Tag grรถรŸer oder gleich der Variable i ist (Tag >= i), wird die Schleife beendet. Innerhalb dieser Schleife befindet sich eine if-Bedingung (Tag gleich i). Wenn diese Bedingung erfรผllt ist, wird der Ausgabestream ausgegeben und die while-Schleife beendet. Andernfalls wird die Variable i inkrementiert und die Schleife erneut durchlaufen.

Wenn wir den Code ausfรผhren, erhalten wir die folgende 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 unterstรผtzt werden von Java innerhalb von Expression Language (EL)-Tags. Hรคufig verwendete Operatoren sind unten aufgefรผhrt:

Folgende Operatoren sind verfรผgbar:

. 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
- SubtracKonversion oder Negation eines Wertes
* Vervielfรคltigen
/ oder div Anwendungen
% 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 (!=, >), ob num3 ungleich 0 ist.
  • Dann nehmen wir eine weitere Variable num4, indem wir zwei num1 und num2 multiplizieren und so num4 erhalten.

Als Ausgabe sollten alle diese Zahlen 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:

  • Code Linie 10: Die Variable mit dem Namen โ€žnum1โ€œ wird in den Ausdrucks-Tags auf 10 und โ€žnum2โ€œ auf 50 initialisiert
  • Code Linie 11: Die Variable num3 ist die Summe von num1 und num2, wobei wir den Additionsoperator verwenden
  • Code Zeile 12-16: In den EL-Tags verwenden wir eine ODER-Verknรผpfung (logische und arithmetische Operatoren), um in der WENN-Bedingung zu prรผfen, ob num3 grรถรŸer als 0 ist. Die ODER-Verknรผpfung wird angewendet, wenn eine der Bedingungen erfรผllt ist. In diesem Fall wird die WENN-Bedingung ausgefรผhrt, in der die beiden Zahlen โ€žnum1โ€œ und โ€žnum2โ€œ multipliziert und das Ergebnis in โ€žnum4โ€œ gespeichert wird. AnschlieรŸend wird der Ausgabestream ausgegeben.

Wenn Sie den obigen Code ausfรผhren, erhalten Sie die folgende 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)

Hรคufig gestellte Fragen

Die Ausdruckssprache (EL) vereinfacht den Zugriff auf gespeicherte Daten. JavaBeans und implizite Objekte wie request, session und application. Es ermรถglicht Ihnen, prรคgnante Ausdrรผcke und Operatoren direkt in einer JSP-Seite zu schreiben, anstatt Java Skriptlets.

EL verwendet die Syntax ${Ausdruck}. Der Inhalt der geschweiften Klammern wird zur Laufzeit ausgewertet und an den Ausgabestream gesendet. Ausdrรผcke kรถnnen mit statischem Text und anderen Ausdrรผcken kombiniert werden.

Die Expression Language wurde in JSP 2.0 eingefรผhrt. Sie wurde entwickelt, um den Bedarf an โ€ฆ zu reduzieren. Java Scriptlets bieten eine einfache Mรถglichkeit, auf Anwendungsdaten zuzugreifen und diese anzuzeigen.

KI kann umwandeln Java Scriptlets in รผbersichtlichere EL-Ausdrรผcke umwandeln, den richtigen Operator vorschlagen und Beispiele fรผr Schleifen und Bedingungen generieren, helfenping Entwickler schreiben schneller besser lesbare JSP-Seiten.

Ja. KI kann ungรผltige EL-Syntax, nicht รผbereinstimmende Klammern, fehlende Bean-Eigenschaften und Typprobleme erkennen und anschlieรŸend Korrekturen vorschlagen, wodurch Laufzeitfehler in JSP-Seiten reduziert werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: