Java  »  Articoli  »  JSF 

Introduzione a JSF

di: Luca Santaniello     12 Gennaio 2009

Questo è il primo di una serie di articoli che ci aiuteranno a scoprire, pian piano, le caratteristiche di Java Server Faces (JSF), un framework java basato sul design pattern architetturale Model-View-Controller. Esistono diverse implementazioni del framework: oltre a quella Sun, sono disponibili anche le implementazioni di Apache (MyFaces) e di Oracle (ADF).

I vantaggi principali offerti dal framework sono i seguenti:

  • JSF mette a disposizione dei componenti predefiniti, che lo sviluppatore deve semplicemente richiamare nelle proprie pagine Web. Ciò rende possibile sviluppare l'interfaccia Web di una applicazione secondo la logica RAD, Rapid Application Development, tipica degli ambienti di sviluppo .NET.
  • JSF è basato sugli eventi. Gli eventi sono costituiti dalle azioni che l'utente effettua sui componenti di interfaccia. A questi eventi vengono registrati dei listener per la gestione lato server degli stessi.
  • I componenti predefiniti sono considerati "intelligenti", cioè sono in grado di validare automaticamente i dati inseriti dall'utente e di memorizzare il proprio stato.
  • Molti ambienti di sviluppo, tra i quali Eclipse e NetBeans, presentano tool per la gestione visuale, sia della parte relativa alla composizione delle pagine in JSF, sia per quanto riguarda la gestione dei suoi file di configurazione.

In questo articolo introduttivo proponiamo un semplicissimo esempio per iniziare a prendere confidenza con il framework. Prevediamo una semplicissima pagina contenente un campo di testo, nel quale l'utente dovrà inserire il proprio nome, e un bottone per accedere al sistema. In seguito al click sul bottone, verrà mostrato un messaggio di benvenuto seguito dal nome dell'utente precedentemente inserito.

Utilizzeremo l'implementazione JSF della SUN, le cui librerie sono incluse in forma nativa nella versione 5.0 della J2EE.

Il cuore del framework è il file faces-config.xml, nel quale è possibile definire le regole di navigazione all'interno delle pagine dell'applicazione.

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
  
  <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
      <from-outcome>benvenuto</from-outcome>
      <to-view-id>/welcome.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
      <from-outcome>uscita</from-outcome>
      <to-view-id>/exit.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
  
  <managed-bean>
    <managed-bean-name>utente</managed-bean-name>
    <managed-bean-class>IT.html.jsf.bean.UtenteBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
  </managed-bean>
</faces-config> 

Nella prima sezione del file abbiamo definito una vista. Ciascuna vista può avere differenti regole di navigazione. La regola che abbiamo definito può essere tradotta così: "se mi trovo nella pagina index.jsp, e viene prodotta una action "benvenuto", allora viene caricata la vista welcome.jsp, se invece viene prodotta una action "uscita", allora viene caricata la vista exit.jsp.

Guide Java

Guida Apache Struts

Il primo e più utilizzato tra i framework MVC del mondo Java,...

Guida Java Spring

Scoprire il lightweight container più famoso del mondo Java....

Guida Java 6

Prendendo le mosse dalla guida Java, già presente su HTML.it,...

Altre guide

Newsletter @Programmazione

Ogni mese, direttamente nella tua e-mail: articoli, script e guide su Java, Visual Basic, VB.Net ed i più diffusi linguaggi di programmazione.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti