presentazione wicket

Download Presentazione wicket

If you can't read please download the document

Upload: andrea-del-bene

Post on 16-Apr-2017

1.788 views

Category:

Technology


0 download

TRANSCRIPT

Il framework Wicket

Andrea Del BeneJug [email protected]

Quali sono i guai della programmazione web?

Le tecnologie su cui si basa il web si basano su paradigmi molto diversi da quelli dei linguaggi di programmazione moderni (OOP in primis).

Quando scegliamo le pagine web come GUI dobbiamo affrontare due grossi limiti di questa tecnologia:

Le pagine (le viste del programma) sono dei semplici file di testo da spedire al browser e non possono essere rappresentate ed usate con gli strumenti dell'OOP

L'HTTP stateless e dobbiamo fare i salti mortali per associare uno stato alla navigazione di un utente sul nostro sito (di solito si ricorre all'oggetto Session)

Wicket: pagine come oggetto

Wicket un framework a componenti per lo sviluppo di soluzioni web Java che propone una soluzione ad entrambi i problemi visti

A differenza di altre soluzioni (JSP, Struts, Spring MVC, ecc...) le pagine web sono trattate come vere e proprie istanze di oggetto (classe WebPage). Non dobbiamo pi usare direttamente Request e Response nel nostro codice e l'HTML usato solo come template di visualizzazione, non contiene n taglib n codice java.

Come vedremo trattare le pagine come oggetti offre una soluzione trasparente anche al problema della conservazione dello stato...

Per fare ci Wicket offre una gerarchia di classi molto simile a quella proposta da Swing per realizzare le GUI di applicazioni desktop

Wicket VS Swing

In Wicket ogni entit un componente e la pagina (la classe WebPage) contiene a sua volta istanze di componenti. WebPage ha una funzione analoga alla classe JWindow (o JFrame) in Swing.

Dov' finito l'HTML?

Se la pagina per lo sviluppatore una classe Java come ottengo l'HTML finale da inviare al Browser?

In Wicket la classe che rappresenta una pagina ha associata una pagina HTML standard che funziona da template e che per default deve trovarsi nella stessa cartella della classe ed avere lo stesso nome.

La classe Wicket pu mappare i suoi componenti interni con i tag presenti nella pagina HTML. Wicket offre un set di componenti con cui mappare i vari elementi di una pagina HTML ( paragrafi , form, div, span, controlli di input, ecc...)

Il file web.xml

E' il momento di vedere un primo esempio di utilizzo di Wicket. L'applicazione una classica web application Java.

Il file web.xml deve dichiarare un elemento che istanzi una sottoclasse di org.apache.wicket.protocol.http.WebApplication (nel nostro caso la classe helloWorld.WicketApplication).

Wicket HelloWorld WizardApplication org.apache.wicket.protocol.http.WicketFilter applicationClassName helloWorld.WicketApplication WizardApplication /*

La classe WicketApplication

package helloWorld;

import org.apache.wicket.Page;import org.apache.wicket.protocol.http.WebApplication;

public class WicketApplication extends WebApplication {

@Overridepublic Class