Posts tagged ‘dinamico’

Realizzare un semplice layout dinamico con JSP

In questo articolo spiegheremo come includere nel corpo di una pagina web una pagina piuttosto che un'altra semplicemente cliccando su dei link.

Includere contenuti all'interno della pagina principale del nostro sito nel modo che vi mostreremo tra pochissimo è molto conveniente in quanto permette di apportare modifiche alla struttura del sito modificando soltanto l'index.jsp e lasciando inalterate tutte le altre pagine che conterranno solo ed esclusivamente contenuti.

Mettiamo caso di avere un sito web che all'interno del suo index.jsp contiene vari link come “home”,”news” e “contatti”; vogliamo fare in modo che cliccando su uno di questi la struttura della pagina non cambi ma cambi solo il suo contenuto.

Struttureremo i link come segue:

<a href="index.jsp?pagina=home">Home</a>
<a href="index.jsp?pagina=news">News</a>
<a href="index.jsp?pagina=contatti">Contatti</a>

In questo modo se un'utente clicca su uno dei link ritorna alla pagina index.jsp e passa alla barra degli indirizzi un parametro di nome pagina che a seconda dei casi avrà il valore home,news o contatti.

Sfrutteremo tale parametro per l'inclusione delle relative pagine tramite il seguente codice:

<%
        
String myPage = "errore.jsp";

//utilizziamo il metodo getParameter per recuperare il parametro passato dai link
String pageParameter = request.getParameter("pagina");

//caso in cui l'utente non ha cliccato ancora su alcun link
if (pageParameter==null){
  pageParameter="";
}

//caso in cui devo includere come contenuto la pagina home.jsp
if(pageParameter.equals("home") || pageParameter.equals("")){
     myPage="home.jsp";
}

//caso in cui devo includere come contenuto le pagina news.jsp  
if(pageParameter.equals("news")){
     myPage="news.jsp";
}

//caso in cui devo includere come contenuto la pagina contatti.jsp
if(pageParameter.equals("contatti")){
     myPage="contatti.jsp";
}

%>

<jsp:include page="<%=myPage%>" flush="true" />

Come prima riga abbiamo inizializzato il contenuto della variabile myPage a errore.jsp perchè in questo modo se un parametro passato da un link non corrisponde all'inclusione di nessuna pagina automaticamente verrà inclusa la pagina errore.jsp