Rich Internet Application con JSF2 Icefaces

23 luglio 2012

IceFaces è un framework per lo sviluppo di applicazioni RIA(Rich Internet Application), basato su JavaServer Faces 2. IceFaces 3 estende JSF ampliando il set di componenti a disposizione e migliorando quindi le possibilità di sviluppo.

Attraverso questa libreria possiamo realizzare complesse interfacce grafiche per le nostre applicazioni web basate su JSF. In questo articolo e nei prossimi vogliamo dare un’idea delle potenzialità del framework, introducendo l’uso dei componenti più interessanti.

Configurazione

Prima di iniziare è opportuno avere un’ambiente configurato per mettere in pratica quanto illustrato. Il codice che troverete in allegato è relativo ad un progetto web J2EE su ambiente Eclipse, ma potete tranquillamente utilizzare i sorgenti in un progetto Netbeans o altri ide che consentono di sviluppare applicazioni JSF 2.

Tutto quello che dovete fare è creare un progetto JSF e successivamente inserire in WEB-INF / lib i seguenti jar ottenuti dal sito di icefaces (http://www.icesoft.org/downloads/icefaces-downloads.jsf) dopo essersi registrati:

  • commons-beanutils.jar
  • commons-collections.jar
  • commons-digester.jar
  • commons-logging.jar
  • icefaces.jar
  • icefaces-ace.jar
  • icefaces-compat.jar
  • icepush.jar

ed aggiungere nel  web.xml  la configurazione della servlet di IceFaces:

<servlet>
	<servlet-name>Resource Servlet</servlet-name>
	<servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>Faces Servlet</servlet-name>
	<url-pattern>/icefaces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
	<servlet-name>Resource Servlet</servlet-name>
	<url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>

Una volta pronto il nostro progetto JSF vuoto, ma configurato per l’utilizzo di IceFaces, possiamo iniziare a prendere confidenza con il ricco set di componenti. IceFaces divide i componenti in 3 categorie:

  • Ice Components
  • Ace Components
  • Enterprise Components

Ice Components

Gli Ice Components sono i componenti originariamente sviluppati per la versione IceFaces 1.8. Tra essi troviamo gli utili:

  • selectInputDate: un calendario grafico per la selezione delle date
  • inputRichText: un avanzato editor tipicamente presente nei Cms
  • dataTable e dataPaginator: per la visualizzazione dei dati utilizzando eventualmente la tecnica lazy
  • selectInputText : una casella di input potenziata
  • panelTabSet : un tab component per separare ed organizzare contenuti
  • panelToolTip : mostra una finestra informativa quando passiamo con il mouse su qualcosa
  • outputMedia: per riprodurre video in vari formati

e tanti altri, abbiamo elencato i precedenti perchè scelti nella trattazione di questo articolo ma potete davvero trovare tanta documentazione e tutorials sul sito ufficiale di IceFaces.