2013-04-06 26 views
16

Dopo aver letto il Q & A How to avoid Java code in JSP files? Ho interrotto la codifica con scriptlet.Differenza esatta e relazione tra JSTL e linguaggio di espressione

Quindi ho iniziato a leggere JSTL e ho avuto un dubbio sul fatto che ho trovato che JSTL ha una relazione con EL.

Ma non riesco a ottenere la relazione esatta tra loro.

Qui ho ottenuto il codice here

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

So <c:set è un tag JSP e ${test} è il linguaggio di espressione ..

mie confusioni sono

  1. non funzionando con il lavoro JSTL da solo? Ha sempre bisogno del supporto di EL? Se non è sempre necessario, come nel caso precedente?

  2. Come utilizzare semplicemente la lingua di espressione senza tag JSTL?

+0

EL è un mezzo per manipolare il contenuto lato server, sia all'interno di tag JSTL, sia in uno stile "semplice". Se utilizzato all'interno di un tag, può essere utilizzato per ottenere dati, come nell'esempio, o per impostare dati, come nel caso di, ad esempio, ''. – skuntsel

+4

Questo potrebbe essere utile: http://stackoverflow.com/questions/4812755/difference-between-jsp-el-jsf-el-and-unified-el – BalusC

risposta

23

L'EL, inizialmente, è stato progettato per essere utilizzato all'interno degli attributi dei tag JSTL e di qualsiasi altro tag personalizzato che potresti voler utilizzare o scrivere.

Una versione successiva della specifica JSP ha consentito di utilizzare l'EL direttamente all'interno dei JSP, ma ciò non significa che JSTL non sia più utile. L'unica cosa che si può fare con EL direttamente in JSP è quello di scrivere un certo valore alla risposta, come per esempio

${user.id} 

che scrivere l'ID del fagiolo dell'utente. Se si desidera test, loop, escape HTML, URL, data, formattazione di un numero, ecc., È ancora necessario utilizzare JSTL.

Problemi correlati