Programmazione.it
Una panoramica su Struts Framework (3/6)
Scritto da Alessandro Vinciarelli il 07-02-2007 ore 10:32
Intel Cluster Studio XE
Continuando il discorso su Struts, vediamo come avviene il dialogo tra la sezione che si occupa del controllo dell'applicazione e la sezione di visualizzazione della stessa. Il concetto fondamentale è quello di ActionForm. Questa è una classe di collegamento tra la Action e la pagina Web JSP. In particolare all'interno del framework:
  1. si analizza se esiste il mapping tra l'azione, che ha scatenato l'evento, e una actionForm;

  2. in caso positivo, viene creato l'oggetto actionForm e memorizzato nello scope appropriato;

  3. vengono quindi estratti dalla request i parametri di input e vengono memorizzati negli attributi della actionForm attraverso gli appositi metodi setter;

  4. infine, se nel file di configurazione l'attributo validate è true, viene chiamato il rispettivo metodo validate() della actionForm.

In generale una actionForm corrisponde esattamente ad una pagina che esegue il POST dei dati, ma se lo si desidera, è possibile associare una actionForm a più di una pagina Web. Una volta che questa azione è stata implementata è necessario inserire alcune linee nel file di configurazione di Struts per fare in modo che il framework sia cosciente dell’esistenza di questa nuova actionForm. All’interno del file, nella sezione form-beans andranno poi aggiunte:
[code]
< form-beans >
< form-bean
name="loginForm"
type="com.test.struts.LoginForm" | >
< | form-beans >

[/code]
Il nome deve essere assolutamente unico, mentre il type deve rappresentare il percorso di una classe che estende actionForm.Successivamente è necessario associare un elemento del form-beans appena creato alla rispettiva azione. Ad esempio potremmo aggiornare il mapping per il loginAction visto in precedenza, nel seguente modo:
[code]
< action
path=" | login"
type="com.test.struts.action.LoginAction"
scope="request"
name="loginForm"
validate="true"
input=" | login.jsp" >
< forward name="Home" path=" | action | home "
redirect="true" | >
< | action >[/code]

Chiaramente il nome all’interno del mapping per il login deve corrispondere a quello contenuto nella sezione form-beans.
Copyright Programmazione.it® 1999-2005. Tutti i diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002.