AWWW-1st3.6-w07.tresc-1.0-Slajd20

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

JSP EL - wyrażenia

JSP EL - wyrażenia


Wyrażenia JSP EL mogą się znaleźć bezpośrednio w statycznym tekście lub jako wartości atrybutów znaczników, zarówno standardowych, jak i znaczników pochodzących z bibliotek znaczników i znaczników definiowanych przez użytkownika. Najczęściej wartość wyrażenia JSP EL jest zwracana jako łańcuch znaków. Wyrażenia JSP EL przyjmują postać ${zmienna.pole} (poza wyrażeniami arytmetycznymi i logicznymi). Ewaluacja wyrażenia ${produkt.cena} przebiega na podstawie zachowania metody PageContext.findAttribute() i polega na przeszukaniu zasięgów page, request, session i application w poszukiwaniu obiektu o nazwie "produkt" i cesze "cena". Wyrażenie ${produkt.cena} jest traktowane przez JSP EL w taki sam sposób jak wyrażenie ${produkt["cena"]} i obie notacje są zunifikowane. W zależności od faktycznego typu obiektu "produkt" wynik ewaluacji może zwrócić:

  • jeśli "produkt" jest typu java.util.Map, to ${produkt.cena} zwraca produkt.get("cena") lub null jeśli !produkt.containsKey("cena")
  • jeśli "produkt" jest typu java.util.List lub Array, to ${produkt.cena} zwraca produkt.get((int)cena) lub null (np. jeśli metoda get zwróci wyjątek IndexOutOfBoundsException)
  • jeśli "produkt" jest komponentem JavaBean, to ${produkt.cena} zwraca produkt.getCena() lub null (jeśli komponent zwróci wyjątek)

Wyrażenia JSP EL są ewaluowane od lewej strony do prawej strony, typ wynikowy jest automatycznie konwertowany do typu oczekiwanego.


<< Poprzedni slajd | Spis treści | Następny slajd >>