Java  »  Articoli  »  Struts 

Validation di Struts

di: Simone Pascuzzi     02 Aprile 2007

Il plugin, messo a disposizione da Struts, ci consente di validare (o meno) dei campi presenti in un form; per esempio il campo "numero telefonico".

Anzichè scrivere la validazione, del seguente campo, nelle classi Action, creiamo un meccanismo di validazione generale per il nostro campo "numero telefonico".

Un primo esempio con Validator

Iniziamo subito con un piccolo esempio per capire al meglio la gestione della validazione. Creiamo un semplice form, con un campo editabile (una textArea), dove l'utente digiterà il proprio nome, che dovrebbe essere lungo minimo 5 caratteri.

Andiamo a costruirci la nostra classe ActionForm:

import org.apache.struts.action.*;


/* Acquisisce le variabili del form */
public class NomeForm extends ActionForm {
    public String nome; // i relativi metodi get e set della property nome
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
}

Creiamo dunque la action corrispondente:

import org.apache.struts.action.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class NomeAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form, 
	                             HttpServletRequest request, HttpServletResponse response) throws Exception {
        
		NomeForm nomeForm = (NomeForm) form;
        
		// stampa per un controllo il contenuto 
        // della property "nome" (il valore inserito dall'utente)
        System.out.println(NomeForm.getNome());
		
        return mapping.findForward("success");
    }
}

Creaimo la nostra pagina JSP (la view 'success'):

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<html>
  <body>
    <html:errors />
    <html:form action="inputSubmit">
        <bean:message key="nomeForm.nome" />
        <html:text property="nome" /><br/>
        <html:submit value="ok" />
    </html:form>
  </body>
</html>

Ora aggiungiamo la dichiarazione del bean al file struts-config.xml

<form-bean type="fulvios.InputForm" name="inputForm" />

Per finire definiamo l'action mapping nel file struts-config.xml

<action path="/inputSubmit" type="fulvios.InputAction"
        name="inputForm" scope="request" 
		validate="true" input="/input.jsp">
  
  <forward name="success" path="/success.jsp" />
</action>

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