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.

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:
- 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.
- Entscheidungsaussagen
- 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:
- Ansonsten
- 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:
- 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:
- 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:
- Code Linie 10: Die Variable mit dem Namen โnumโ wird in den Ausdrucks-Tags auf 5 initialisiert
- 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:
- 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:
- 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:
- 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)






