Was ist Ausdruckssprache (EL)?
Expression Language (EL) ist ein Mechanismus, der den Zugriff auf die in der Java-Bean-Komponente und anderen Objekten wie Anforderung, Sitzung und Anwendung usw. gespeicherten Daten vereinfacht. In JSP gibt es viele Operatoren, die in EL verwendet werden, z. B. arithmetische und logische Operatoren, um eine auszuführen Ausdruck. Es wurde in JSP 2.0 eingeführt
In diesem Tutorial lernen Sie:
- JSP-Syntax der Ausdruckssprache (EL)
- JSP If-else
- JSP-Switch
- JSP For-Schleife
- JSP While-Schleife
- JSP-Operatoren
JSP-Syntax der Ausdruckssprache (EL)
Syntax von EL : $ (Ausdruck)
- In JSP wird alles, was in den geschweiften Klammern vorhanden ist, zur Laufzeit ausgewertet, die an den Ausgabestream gesendet wird.
- 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 das folgende Beispiel.
In diesem Beispiel werden wir sehen, wie EL als Operator verwendet wird, um zwei Zahlen (1 + 2) zu addieren und die Ausgabe zu erhalten.
<% @ page language = "java" contentType = "text / html; Zeichensatz = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP1 title> head> Ausdruck ist: $ {1 + 2}; body> html>
Erklärung des Codes:
- Codezeile 11: Ausdruckssprache (EL) wird festgelegt, wenn zwei Zahlen 1 + 2 hinzugefügt werden, daher wird die Ausgabe als 3 ausgegeben.
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe.
Ausgabe :
- Der Ausdruck ist: 3 (Da die Zahlen 1 + 2 hinzugefügt werden und als Ausgabe dienen)
Anweisungen zur Flusskontrolle:
JSP bietet die Leistung von Java, um in die Anwendung eingebettet zu werden. Wir können alle APIs und Bausteine von Java in der JSP-Programmierung verwenden, einschließlich Kontrollflussanweisungen, die die Entscheidungsfindung und die Schleifenanweisungen umfassen.
Es gibt zwei Arten von Flusssteuerungsanweisungen, die unten beschrieben werden.
- Entscheidungserklärungen
- Schleifenanweisungen
Entscheidungserklärungen:
Die Aussage zur Entscheidungsfindung 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
- Schalter
JSP If-else
Die Anweisung "If else" ist grundlegend für alle Kontrollflussanweisungen und weist das Programm an, den bestimmten Codeabschnitt nur auszuführen, wenn der jeweilige Test den Wert true hat.
Diese Bedingung wird verwendet, um auf mehr als eine Bedingung zu testen, ob sie wahr oder falsch sind.
- Wenn die erste Bedingung erfüllt ist, wird "if block" ausgeführt und
- Wenn es falsch ist, wird "else block" ausgeführt
Syntax für die if - else - Anweisung :
If(test condition){//Block of statements}else{//Block of statements}
In diesem Beispiel ist
Wir werden die "if else" -Zustand testen, indem wir eine Variable nehmen und den Wert überprüfen, wenn die Variable mit dem übereinstimmt, was initialisiert wurde:
<% @ page language = "java" contentType = "text / html; Zeichensatz = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP2 title> head> <%! int Monat = 5; %><% if (month == 2) {%> Es ist Februar <%} else {%> Jeder andere Monat als Februar <%}%> body> html>
Erläuterung des Codes:
- Codezeile 10: Die Variable mit dem Namen month wird in den Ausdrucks-Tags mit 5 initialisiert
- Codezeile 11: In den EL-Tags gibt es eine "if-Bedingung", die angibt, dass der Monat gleich 2 ist (die Bedingung wird hier als wahr oder falsch getestet).
- Codezeile 12: Wenn die Bedingung erfüllt ist, dass der variable Monat 2 ist, wird er in den Ausgabestream gedruckt
- Codezeile 13-15: Wenn die obige if-Bedingung fehlschlägt, wird sie für alle anderen Fälle, in denen die Anweisung in den Ausgabestream gedruckt wird und die Bedingung geschlossen wird, in einen anderen Teil verschoben
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe.
Ausgabe:
- Seit dem Monat, den wir haben, ist 5, was nicht gleich # 2 (Februar) ist. Daher haben wir die Ausgabe "Jeder andere Monat als Februar" (Monat wird als 5 erwähnt, 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 möglicher Ausführungspfade zu überprüfen.
- Ein Switch 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 übereinstimmenden Fall folgen
Syntax für die switch-Anweisung :
switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
- Der Schaltblock beginnt mit einem Parameter, dem Operator, der übergeben werden muss, und
- Dann gibt es verschiedene Fälle, die eine Bedingung liefern und je nachdem, welcher mit dem Operator übereinstimmt, wird dieser Fall ausgeführt.
Im folgenden Beispiel
Wir haben eine variable Woche definiert, und es wird mit dem Fall angepasst je nachdem , was diesen Fall ist true.In, ist Woche 2 daher 2 nd Fall angepasst ist, und der Ausgang ist Dienstag:
<% @ page language = "java" contentType = "text / html; Zeichensatz = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP3 title> head> <%! int Woche = 2; %><% switch (Woche) {Fall 0:out.println ("Sonntag");brechen;Fall 1:out.println ("Montag");brechen;Fall 2:out.println ("Dienstag");brechen;Fall 3:out.println ("Mittwoch");brechen;Fall 4:out.println ("Donnerstag");brechen;Fall 5:out.println ("Freitag");brechen;Standard:out.println ("Samstag");}}%> body> html>
Erklärung des Codes:
- Codezeile 10: Die Variable mit dem Namen week wird in den Ausdrucks-Tags auf 2 initialisiert
- Codezeile 11: In den EL-Tags wird der Switch-Fall gestartet, in dem die Woche als Parameter übergeben wird
- Codezeile 12 - 29: Alle Fälle wurden von Fall 0 bis Fall 5 erwähnt, in denen der Wert des Wochenparameters mit den Fällen übereinstimmt und dementsprechend die Ausgabe gedruckt wird. In diesem Fall ist der Wert 2, daher wird in diesem Fall Fall 2 ausgeführt. Hier ist "out" die Klasse von JSP, die den Ausgabestream für die generierte Antwort schreibt, und "println" ist eine Methode dieser Klasse.
- Codezeile 30-32: Wenn die oben genannten Fälle fehlschlagen, wird sie zum Standardteil verschoben und ausgeführt, wobei die Anweisung im Ausgabestream gedruckt wird und die Bedingung geschlossen wird
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe.
Ausgabe:
- Die Ausgabe ist in diesem Fall Dienstag, da der 2. Fall aufgerufen wird.
Schleifenanweisungen
JSP For-Schleife
Es wird zum Iterieren der Elemente für eine bestimmte Bedingung verwendet und verfügt über drei Parameter.
- Der variable Zähler wird initialisiert
- Bedingung bis die Schleife ausgeführt werden muss
- Der Zähler muss erhöht werden
For-Schleifensyntax:
For(inti=0;iIn 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; Zeichensatz = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP4 title> head> <%! int num = 5; %><% out.println ("Zahlen sind:");für (int i = 0; ibody> html> Erläuterung zum Code:
- Codezeile 10: Die Variable mit dem Namen "num" wird in den Ausdrucks-Tags mit 5 initialisiert
- Codezeile 11-14: In den EL-Tags ist "out" die Klasse von JSP und "println" die Methode, mit der im Ausgabestream gedruckt und die for-Schleife mit drei Parametern gestartet wird:
- Die Variable i wird auf 0 initialisiert.
- Die Bedingung ist gegeben, wenn i kleiner als die lokale Variable num ist.
- Und ich werde jedes Mal inkrementiert, wenn die Schleife wiederholt wird.
Im Hauptteil von "forloop" gibt es eine Klasse von JSP, die mit 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.
Ausgabe:
- Die Ausgangsnummern 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 eine Variable ist. Die Zahl ist 5, daher beginnt die Schleife bei 0 und läuft bis 4 (5 Mal). Daher die Ausgabe.
JSP While-Schleife
Es wird verwendet, um die Elemente zu iterieren, wobei es einen Parameter der Bedingung hat.
Syntax:
While(iIn diesem Beispiel ist
Wir haben eine while-Schleife, die iteriert, bis der Tag größer als der Zähler ist:
<% @ page language = "java" contentType = "text / html; Zeichensatz = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP5 title> head> <%! int Tag = 2; int i = 1; %><% while (Tag> = i) {if (Tag == i) {out.println ("Es ist Montag");brechen;}i ++;}%> body> html>Erläuterung des Codes:
- Codezeile 10: Die Variable mit dem Namen i wird in den Ausdrucks-Tags auf 1 und der Tag auf 2 initialisiert
- Codezeile 11-17: In den EL-Tags wird "while-Schleife" wiederholt, bis eine Bedingung festgelegt wurde, als ob der Tag größer oder gleich der i-Variablen ist. (Tag> = i)
Innerhalb dessen gibt es "wenn Bedingung" (Tag ist gleich i) und "wenn Bedingung" wahr ist, dann wird der Ausgabestream gedruckt und die while-Schleife verlassen, andernfalls wird die i-Variable inkrementiert und die Schleife iteriert.
Wenn wir den Code ausführen, erhalten wir die folgende Ausgabe
Ausgabe ist:
- Die Ausgabe dieses Codes wird "sein Montag" sein.
JSP-Operatoren
JSP-Operatoren unterstützen die meisten ihrer arithmetischen und logischen Operatoren, die von Java in EL-Tags (Expression Language) unterstützt werden.
Häufig verwendete Operatoren werden nachfolgend erwähnt:
Es folgen die Betreiber:
. Greifen Sie auf eine Bean-Eigenschaft oder einen Map-Eintrag zu [] Greifen Sie auf ein Array oder ein Listenelement zu () Gruppieren Sie einen Unterausdruck, um die Auswertungsreihenfolge zu ändern + Zusatz - - Subtraktion oder Negation eines Wertes * * Multiplikation / oder div Teilung % oder mod Modulo (Rest) == oder Gl Test auf Gleichheit ! = oder ne Test auf Ungleichheit Test für weniger als > oder gt Test auf größer als <= oder le Auf weniger als oder gleich testen > = oder ge Test auf größer oder gleich && oder und Test auf logisches UND || oder oder Test auf logisches ODER ! oder nicht Unäre boolesche Ergänzung Leer Test auf leere Variablenwerte In diesem Beispiel ist
- 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 überprüfen wir eine Bedingung, ob num3 nicht gleich 0 ist, indem wir JSP-Operatoren (! =,>) Und verwenden
- Nehmen Sie dann eine andere Variable num4, indem Sie zwei num1 und num2 multiplizieren. Wir erhalten num4.
Diese alle Zahlen sollten als unsere Ausgabe ausgedruckt werden:
<% @ page language = "java" contentType = "text / html; Zeichensatz = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP6 title> head> <% int num1 = 10; int num2 = 50;int num3 = num1 + num2;if (num3! = 0 || num3> 0) {int num4 = num1 * num2;out.println ("Nummer 4 ist" + num4);out.println ("Nummer 3 ist" + num3);}%> body> html>Erläuterung des Codes:
- Codezeile 10: Die Variable 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 ODER-Bedingung verwendet, bei der es sich um einen logischen Operator und einen arithmetischen Operator handelt, um zu überprüfen, ob num3 in der if-Bedingung größer als 0 ist. Das ODER wird verwendet, wenn eine Bedingung in einem solchen Fall erfüllt ist. Es wird in den "if-Fall" eingegeben, in dem wir zwei Zahlen "num1" und "num2" multiplizieren und die Ausgabe in "num4" erhalten, und es wird der Ausgabestream gedruckt.
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe.
Ausgabe:
- Die erste Ausgabe ist Nummer 4 ist 500 (Variable num4 ist num1 * num2)
- Die zweite Ausgabe ist Nummer 3 ist 60 (Variable num3 welche num1 + num2)
Zusammenfassung:
- JSP Expression Language (EL) erleichtert den Zugriff auf die Anwendung für die in den Javabeans-Komponenten gespeicherten Daten.
- Es ermöglicht auch das Erstellen 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 auch Schleifen und Entscheidungsanweisungen mithilfe von EL-Tags verwenden