2013-04-06 10 views
16

Po przeczytaniu Q & A How to avoid Java code in JSP files? Przestałem kodować skryptletami.Dokładna różnica i relacja między JSTL a językiem ekspresji

Tak rozpoczął czytanie JSTL i mam wątpliwości, że znalazłem JSTL ma związek z EL.

Ale nie otrzymuję dokładnej relacji między nimi.

Tutaj mam kod z here

<c:set var="test" value="JSTL Core Tags"></c:set> 
<c:out value="${test}"></c:out> 

wiem <c:set jest tag JSP i ${test} jest język Expression ..

Moi nieporozumienia są

  1. Will not pracy z samą pracą JSTL? Czy zawsze potrzebuje wsparcia EL? Jeśli nie zawsze jest to potrzebne, jak w powyższym przypadku?

  2. Jak po prostu używać języka Expression bez tagów JSTL?

+0

EL to sposób na manipulację zawartością po stronie serwera, czy to w znacznikach JSTL, czy w "prostym" stylu. Jeśli zostanie użyty w tagu, może być użyty do uzyskania danych, takich jak w twoim przykładzie lub ustawionych danych, jak na przykład w przypadku "". – skuntsel

+4

Może to być pomocne: http://stackoverflow.com/questions/4812755/difference-between-jsp-el-jsf-el-and-unified-el – BalusC

Odpowiedz

23

EL początkowo został zaprojektowany do stosowania wewnątrz atrybutów znaczników JSTL i każdy inny niestandardowy znacznik może chcesz używać lub napisać samemu.

Późniejsza wersja specyfikacji JSP pozwoliła na użycie EL bezpośrednio wewnątrz stron JSP, ale to nie znaczy, że JSTL nie jest już przydatny. Jedyne, co można zrobić z EL bezpośrednio w JSP jest napisać jakąś wartość do odpowiedzi jak na przykład

${user.id} 

co napisać identyfikator fasoli użytkownika. Jeśli potrzebujesz testów, pętli, ucieczki HTML, adresów URL, daty formatowania liczb itp., Nadal musisz korzystać z JSTL.

Powiązane problemy