Anche per quanto riguarda i prossimi due capitoli, è necessaria la stessa avvertenza fatta nel precedente, coloro che
già conoscono altri linguaggi di produzione server side troveranno nelle prossime pagine costrutti sintattici
a loro familiari. Chi invece ha deciso di cominciare dalle JSP una lunga e fortunata carriera nella produzione
dinamica per il Web, si renderà conto di quanto siano semplici da utilizzare elementi importantissimi per lo
scripting come istruzioni condizionali e cicli.
Le istruzioni, o per meglio dire
le istruzioni condizionali, permettono la generazione in output di determinati comportamenti sulla base del
verificarsi o meno di determinate condizioni.
L'istruzione if - else prevede il verificarsi di un
comportamento se (if) certe condizioni sono valide, altrimenti (else) avrà vita un comportamento
alternativo. Ecco un esempio:
<% int valore = 5; %>
<%
if (valore > 3)
{
out.println("Valore superiore a 3.");
}
else
{
out.println("valore inferiore a 3.");
}
%>
Chiaramente else rappresenta un'istruzione accessoria, utile per proporre un'alternativa al
mancato verificarsi della condizione introdotta da if, infatti, il nostro script avrebbe funzionato comunque
egregiamente anche nella seguente forma semplificata:
<% int valore = 5; %>
<%
if (valore
> 3)
{
out.println("Valore superiore a 3.");
}
%>
Oltre ad if
ed else, abbiamo: else if; tramite questa istruzione, introduciamo una seconda condizione che dovrà
essere presa in considerazione quando la prima, proposta tramite if, risulta falsa. Sarà possibile imporre con
else un'alternativa che avrà effetto se anche la seconda condizione non potrà
verificarsi.
<% int valore = 1; %>
<%
if (valore == 3)
{
out.println("Valore identico a 3.");
}
else if (valore == 1)
{
out.println("Valore identico a
1.");
}
else
{
out.println("Nessun valore.");
}
%>
Nel codice appena
proposto, la condizione introdotta da if non può verificarsi e l'istruzione non viene eseguita; viene invece
visualizzata la stringa: "Valore identico a 1.", perchè risulta vera la condizione proposta da else if;
else invece non dà luogo ad output, dato che si verifica la condizione proposta da else
if.
Tramite l'istruzione switch, è possibile introdurre un argomento da valutare sulla base
del suo valore; attraverso il costrutto case verranno iniziati una serie confronti con il valore proposto; se viene
trovato un valore corrispondente, si realizzarà il comportamente previsto e l'istruzione break fermerà
il processo.
<% int valore = 1; %>
<%
switch (valore)
{
case
4:
out.println("Valore identico a 4.");
break;
case 3:
out.println("Valore identico a 3.");
break;
case 2:
out.println("Valore identico a
2.");
break;
case 1:
out.println("Valore identico a 1.");
break;
default:
out.println("Nessun valore.");
}
%>
Nel codice proposto, attraverso
switch abbiamo dato vita ad una serie di confronti introdotti da case e separati con break; quando (e
se) viene rilevato un valore corrispondente a quello attribuito inizialmente, l'istruzione lancia comportamento voluto.
L'istruzione default (opzionale), introduce invece un'ultima alternativa, che avrà luogo solo se nessuno dei
confronti precedenti sarà in grado di restituire un valore corrispondente a quello proposto.
Attenzione: Gli articoli su Tomcat presenti in questa sezione sono stati
concessi in esclusiva per la pubblicazione a Mrwebmaster.it; ne
è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it. |