La **JSTL** (*JavaServer Pages Standard Tag Library*) è una collezione di tag personalizzati che permettono di implementare logica comune (cicli, condizioni, formattazione) nelle JSP senza ricorrere agli scriptlet Java. Per usarla, bisogna dichiarare la taglib nell'intestazione della JSP: ```jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ``` ## Tag Core Principali (`c:`) ### Ciclo `forEach` (Iterazione) Usato per iterare su collezioni (Liste, Array, Mappe) o per cicli numerici. **Esempio Numerico (da 1 a 10):** ```jsp Conteggio: ${i}
``` **Esempio su Collezione:** ```jsp ``` ### Condizione `if` Esegue il contenuto solo se la condizione è vera. **Nota:** Non esiste il tag `c:else`. ```jsp

Benvenuto, ${user.nome}!

``` ### Scelta Multipla `choose` Equivale al costrutto `switch-case` o `if-else if-else`. ```jsp Bocciato Sufficiente Ottimo! ``` ## Gestione degli URL (`c:url`) Il tag `` è fondamentale per gestire correttamente gli URL all'interno dell'applicazione, gestendo automaticamente l'aggiunta del nome del contesto (context path) e l'URL rewriting (per il mantenimento della sessione). ```jsp <%-- Creazione link sicuro --%> Torna alla Home <%-- Inserimento parametri dinamici --%> Modifica ``` ## Perché usare JSTL invece degli Scriptlet? 1. **Leggibilità:** Il codice somiglia all'HTML, facilitando il lavoro ai front-end designer. 2. **Meno Errori:** Riduce la complessità sintattica (niente parentesi graffe aperte/chiuse sparse). 3. **Manutenibilità:** Separa nettamente la logica di visualizzazione da quella Java.