Le Tiles di Struts

Le Tiles di Struts ci permettono di comporre pagine JSP modulari, in base alla logica della nostra interfaccia e di come vogliamo modularizzare il nostro lavoro.

Chi di voi realizza siti o portali internet in Java(R) si trova sempre a risolvere una serie di problemi che non sempre sono legati alla programmazione ma, alle volte, sono legate all’impaginazione dell’applicazione e alla navigazione del sito.

Certo l’ideale per risolvere questo problema sarebbe quello di poter implementare il modello MVC in modo tale da separare la logica di business da quella di presentazione. Un valido aiuto ci viene dato dalle Tiles presenti all’interno delle API di Struts.

Le Tiles sono in grado di gestire in modo molto più sofisticato l’import di vari segmenti della pagina web in modo tale da realizzare la pagina che si vuole realizzare. In altre parole il programmatore realizza il suo Template di base del applicazione che verrà richiamata ogni qual volta una pagina web ne richiedesse le sue impostazioni.

Se volessimo realizzare ad esempio il Template di base costituito da una sezione di HEADER, una di MENUBAR, una del CORPO DELLA PAGINA e, come spesso accade una sezione di COPYRIGHT, si dovrebbe creare una pagina jsp che chiameremo Layout.jsp così costituita:

<%@taglib uri="/WEB-INF/tiles.tld" prefix="tiles"%>
<br>
<html>
<head><title>Titolo</title></head>
<body>
<br>
<!-- HEADER -->
<tiles:insert attribute="header"/>
<br>
<!-- MENUBAR -->
<tiles:insert attribute="menubar"/>
<br>
<!-- Body PAGE -->
<tiles:insert attribute="body"/>
<br>
<!-- COPYRIGHT -->
<tiles:insert attribute="copyright"/>
</body>
</html>

Ora abbiamo realizzato il nostro Layout per la realizzazione delle pagine di tutto il sito. Ma come si fà ad utilizzare questo “bella cosa” che abbiamo realizzato? Niente di più facile. Realizziamo la nostra pagina index.jsp che verrà chiamata dall’utilizzatore finale, senza scrivere una riga di impaginazione. Ecco come:

<%@taglib uri="/WEB-INF/tiles.tld" prefix="tiles"%>
<br>
<tiles:insert page="Layout.jsp" flush="true"><br>
 <tiles:put name="header" value="header.jsp"/><br>
 <tiles:put name="menubar" value="menubar.jsp"/><br>
 <tiles:put name="body" value="body.jsp"/><br>
 <tiles:put name="copyright" value="copyright.html"/><br>
</tiles:insert>

Come potete vedere nella prima riga della pagina index.jsp viene richiamata la pagina di Layout che è Layout.jsp in modo del tutto trasparente. Solo all’interno vengono gestite le parti che saranno poi assemblate per dare forma e vita alla pagina. Si noti come i tiles:put siano caratterizzati dal nome, che identifica il riferimento della pagina di Layout e il value che identifica la pagina fisica da importare.

Questo articolo voleva dare una fisione pratica dell’utilizzo del pacchetto tiles in modo tale che anche un programmatore poco esperto potesse utilizzarle immediatamente. Spero di esserci riuscito

Ciao A TUTTI e buon divertimento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.