Co to jest język wyrażeń (EL)?
Expression Language (EL) to mechanizm, który upraszcza dostęp do danych przechowywanych w komponencie Java Bean i innych obiektach, takich jak żądanie, sesja i aplikacja, itp. W JSP jest wiele operatorów używanych w EL, takich jak operatory arytmetyczne i logiczne do wykonywania operacji. wyrażenie. Został wprowadzony w JSP 2.0
W tym samouczku nauczysz się:
- Składnia JSP języka wyrażeń (EL)
- JSP If-else
- Przełącznik JSP
- JSP Pętla For
- JSP Pętla While
- Operatory JSP
Składnia JSP języka wyrażeń (EL)
Składnia EL : $ (wyrażenie)
- W JSP wszystko, co znajduje się w nawiasach klamrowych, jest oceniane w czasie wykonywania i wysyłane do strumienia wyjściowego.
- Wyrażenie jest prawidłowym wyrażeniem EL i można je mieszać z tekstem statycznym i łączyć z innym wyrażeniem, aby utworzyć większe wyrażenie.
Aby lepiej zrozumieć, jak działa wyrażenie w JSP, zobaczymy poniższy przykład.
W tym przykładzie zobaczymy, jak EL jest używany jako operator do dodania dwóch liczb (1 + 2) i uzyskania odpowiednio wyniku.
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP1 Wyrażenie to: $ {1 + 2};
Wyjaśnienie kodu:
- Linia kodu 11: Język wyrażeń (EL) jest ustawiany, gdy dodajemy dwie liczby 1 + 2, stąd wynik będzie wynosić 3.
Po wykonaniu powyższego kodu uzyskasz następujący wynik.
Dane wyjściowe :
- Wyrażenie to: 3 (jako liczby 1 + 2 zostaną dodane i będą służyć jako dane wyjściowe)
Oświadczenia dotyczące kontroli przepływu:
JSP udostępnia możliwości języka Java, które można osadzić w aplikacji. Możemy używać wszystkich interfejsów API i bloków konstrukcyjnych języka Java w programowaniu JSP, w tym instrukcji przepływu sterowania, które obejmują podejmowanie decyzji i instrukcje pętli.
Istnieją dwa typy instrukcji kontroli przepływu opisane poniżej;
- Oświadczenia decyzyjne
- Instrukcje pętli
Oświadczenia dotyczące podejmowania decyzji:
Instrukcja podejmowania decyzji w JSP jest oparta na tym, czy ustawiony warunek jest prawdziwy, czy fałszywy. Oświadczenie będzie się odpowiednio zachowywać.
Istnieją dwa rodzaje oświadczeń decyzyjnych opisanych poniżej:
- Jeśli inaczej
- przełącznik
JSP If-else
Instrukcja „If else” jest podstawą wszystkich instrukcji przepływu sterowania i mówi programowi, aby wykonał określoną sekcję kodu tylko wtedy, gdy określony test uzyska wartość true.
Ten warunek służy do sprawdzania więcej niż jednego warunku, czy są one prawdziwe, czy fałszywe.
- Jeśli pierwszy warunek jest spełniony, to wykonywany jest „jeśli blok” i
- jeśli jest fałszywe, wykonywany jest „else blok”
Składnia instrukcji if - else :
If(test condition){//Block of statements}else{//Block of statements}
W tym przykładzie
Zamierzamy przetestować warunek „if else”, pobierając zmienną i sprawdzając wartość, czy zmienna jest zgodna z tym, co została zainicjowana:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP2 <%! int miesiąc = 5; %><% if (month == 2) {%> Jest luty <%} else {%> Dowolny miesiąc inny niż luty <%}%>
Wyjaśnienie kodu:
- Linia kodu 10: Zmienna o nazwie month jest inicjowana na 5 w znacznikach wyrażenia
- Linia kodu 11: w tagach EL znajduje się „warunek warunkowy”, który oznacza, że miesiąc jest równy 2 (tutaj warunek jest sprawdzany jako prawda lub fałsz)
- Linia kodu 12: Jeśli warunek jest spełniony, czyli zmienna miesiąc wynosi 2, zostanie wydrukowana w strumieniu wyjściowym
- Linia kodu 13-15: Jeśli powyższy warunek nie powiedzie się, zostanie przeniesiony do innej części dla wszystkich innych przypadków, w których instrukcja zostanie wydrukowana w strumieniu wyjściowym, a warunek zostanie zamknięty
Po wykonaniu powyższego kodu uzyskasz następujący wynik.
Wynik:
- Od miesiąca, który mamy, jest 5, co nie jest równe # 2 (luty). W związku z tym otrzymujemy wynik „Dowolny miesiąc inny niż luty” (miesiąc jest wymieniony jako 5, dlatego też inne są wykonywane)
Przełącznik JSP
Treść instrukcji switch jest nazywana „blokiem przełącznika”.
- Obudowa przełącznika służy do sprawdzania liczby możliwych ścieżek wykonania.
- Przełącznik może być używany ze wszystkimi typami danych
- Instrukcje switch zawierają więcej niż jeden przypadek i jeden przypadek domyślny
- Oblicza wyrażenie, a następnie wykonuje wszystkie instrukcje następujące po pasującym przypadku
Składnia instrukcji switch :
switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
- Blok przełącznika zaczyna się od jednego parametru, którym jest operator, który należy przekazać i
- Następnie są różne przypadki, które zapewniają warunek i który z nich pasuje do operatora, ten przypadek jest wykonywany.
W poniższym przykładzie
Określiliśmy zmienny tydzień i jest dopasowana przypadku cokolwiek jest true.In tę sprawę, to 2 tygodnie stąd 2 nd sprawa jest dopasowany, a wyjście jest Wtorek:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP3 <%! int tydzień = 2; %><% switch (tydzień) {przypadek 0:out.println ("niedziela");przerwa;przypadek 1:out.println ("poniedziałek");przerwa;przypadek 2:out.println ("wtorek");przerwa;przypadek 3:out.println ("środa");przerwa;przypadek 4:out.println ("czwartek");przerwa;przypadek 5:out.println ("piątek");przerwa;domyślna:out.println ("sobota");}%>
Wyjaśnienie kodu:
- Linia kodu 10: Zmienna o nazwie tydzień jest inicjowana na 2 w znacznikach wyrażenia
- Linia kodu 11: W znacznikach EL przypadek przełącznika rozpoczyna się, gdy jako parametr jest przekazywany tydzień
- Linia kodu 12 - 29: Wszystkie przypadki zostały wymienione począwszy od przypadku 0 do przypadku 5, gdzie wartość parametru tygodnia jest dopasowana do przypadków, a wynik jest odpowiednio drukowany. W tym przypadku wartość wynosi 2, więc w tym przypadku zostanie wykonany przypadek 2. Tutaj „out” jest klasą JSP, która zapisuje strumień wyjściowy dla wygenerowanej odpowiedzi, a „println” jest metodą tej klasy.
- Linia kodu 30-32: Jeśli powyższe wszystkie przypadki zawiodą, przejdzie do części domyślnej i zostanie wykonana, gdzie instrukcja zostanie wydrukowana w strumieniu wyjściowym, a warunek zostanie zamknięty
Po wykonaniu powyższego kodu uzyskasz następujący wynik.
Wynik:
- Wyjście w tym przypadku to wtorek, jak nazywa się drugi przypadek.
Instrukcje pętli
JSP Pętla For
Służy do iteracji elementów pod kątem określonego warunku i ma trzy parametry.
- Inicjalizacja licznika zmiennych
- Warunek do wykonania pętli
- Licznik musi zostać zwiększony
Składnia pętli:
For(inti=0;iW tym przykładzie
Mamy pętlę for, która iteruje, aż licznik będzie mniejszy niż podana liczba:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP4 <%! int num = 5; %><% out.println ("Liczby to:");for (int i = 0; iWyjaśnienie kodu:
- Linia kodu 10: Zmienna o nazwie „num” jest inicjowana na 5 w znacznikach wyrażenia
- Linia kodu 11-14: W znacznikach EL „out” jest klasą JSP, a „println” jest metodą out, która drukuje w strumieniu wyjściowym i uruchamia pętlę for, która ma trzy parametry:
- Zmienna i jest inicjalizowana na 0,
- Warunek jest podany, gdzie i ma być mniejsze niż liczba zmiennej lokalnej,
- I jest zwiększane za każdym razem, gdy iteruje pętla czasowa.
W treści „forloop” znajduje się klasa JSP, która drukuje do strumienia wyjściowego metodą println, w której wypisujemy zmienną i.
Po wykonaniu powyższego kodu uzyskasz następujący wynik.
Wynik:
- Numery wyjść to 0 1 2 3 4. W tym przykładzie podajemy warunek, że dopóki licznik nie będzie mniejszy niż wartość zmiennej, „pętla for” musi zostać wykonana. Liczba to 5, więc pętla zacznie się od 0 i będzie trwać do 4 (5 razy). Stąd wynik.
JSP Pętla While
Służy do iteracji elementów, w których ma jeden parametr warunku.
Składnia:
While(iW tym przykładzie
Mamy pętlę while, która będzie iterować, aż dzień będzie większy niż równy licznikowi:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP5 <%! int dzień = 2; int i = 1; %><% while (day> = i) {if (day == i) {out.println ("Jest poniedziałek");przerwa;}i ++;}%>Wyjaśnienie kodu:
- Linia kodu 10: Zmienna o nazwie i ma wartość 1, a dzień ma wartość 2 w znacznikach wyrażenia
- Linia kodu 11-17: W znacznikach EL istnieje pętla while, która będzie iterować, aż otrzymamy warunek ustawiony tak, jakby dzień był większy lub równy i zmienna będzie prawdziwa. (dzień> = i)
Wewnątrz tego znajduje się "if condition" (dzień jest równy i) i "if condition" jest prawdziwy, wtedy wydrukuje strumień wyjściowy i wyjdzie z pętli while, w przeciwnym razie zmienna i zostanie zwiększona i iteruje w pętli.
Kiedy wykonamy kod, otrzymamy następujące dane wyjściowe
Wynik to:
- Wynik tego kodu to „jego poniedziałek”.
Operatory JSP
Operatory JSP obsługują większość operatorów arytmetycznych i logicznych, które są obsługiwane przez język Java w znacznikach języka wyrażeń (EL).
Często używane operatory są wymienione poniżej:
Oto operatorzy:
. Uzyskaj dostęp do właściwości fasoli lub wpisu na mapie [] Uzyskaj dostęp do tablicy lub elementu listy () Zgrupuj podwyrażenie, aby zmienić kolejność oceny + Dodanie - Odejmowanie lub negacja wartości * Mnożenie / lub div Podział % lub mod Modulo (reszta) == lub eq Sprawdź równość ! = lub ne Sprawdź nierówność Testuj za mniej niż > lub gt Sprawdź, czy jest większe niż <= lub le Sprawdź, czy jest mniejszy lub równy > = lub ge Sprawdź, czy jest większe lub równe && albo i Sprawdź logiczne AND || albo albo Sprawdź logiczne LUB ! albo nie Jednoargumentowe uzupełnienie logiczne Pusty Sprawdź puste wartości zmiennych W tym przykładzie
- Deklarujemy dwie zmienne num1 i num2, a następnie bierzemy zmienną num3, gdzie używamy operatora JSP + by, aby dodać num1 i num2 i otrzymać num3.
- Następnie sprawdzamy warunek, czy num3 nie jest równe 0, używając operatorów JSP (! =,>) I
- Następnie weź inną zmienną num4, mnożąc dwa num1 i num2, otrzymamy num4.
Te wszystkie liczby powinny zostać wydrukowane jako nasze wyjście:
<% @ 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 ("Numer 4 to" + num4);out.println ("Numer 3 to" + num3);}%>Wyjaśnienie kodu:
- Linia kodu 10: Zmienna o nazwie num1 jest inicjowana na 10, a num2 na 50 w znacznikach wyrażenia
- Linia kodu 11: Zmienna num3 jest sumą liczb num1 i num2, gdzie używamy operatora dodawania
- Linia kodu 12-16: W tagach EL użyliśmy warunku OR, który jest operatorem logicznym i operatorami arytmetycznymi, aby sprawdzić, czy num3 jest większe od 0 w warunku if. OR jest używane, gdy którykolwiek warunek jest prawdziwy, w takim przypadku wejdzie w "if case", w którym mnożymy dwie liczby "num1" i "num2" i otrzymujemy wynik w "num4" i wypisze strumień wyjściowy.
Po wykonaniu powyższego kodu uzyskasz następujący wynik.
Wynik:
- Pierwsze wyjście to Numer 4 to 500 (zmienna num4 czyli num1 * num2)
- Drugie wyjście to Numer 3 to 60 (zmienna num3, czyli num1 + num2)
Podsumowanie:
- JSP Expression Language (EL) ułatwia dostęp do aplikacji dla danych przechowywanych w komponentach javabeans.
- Pozwala również na tworzenie wyrażeń arytmetycznych i logicznych.
- W tagach EL możemy używać liczb całkowitych. Liczby zmiennoprzecinkowe, ciągi znaków i wartości logiczne.
- W JSP możemy również używać pętli i instrukcji decyzyjnych za pomocą tagów EL