Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Recupero dei dati da un form

Interfacciare JSP con i risultati di un form o di una querystring. Un esempio pratico
Interfacciare JSP con i risultati di un form o di una querystring. Un esempio pratico
Link copiato negli appunti

Il modo più semplice per recuperare i dati da un form o dalla querystring è quello di utilizzare l'istruzione

request.getParameter("nome_parametro")

che, come abbiamo visto, legge dal form sia i parametri inviati con metodo POST, sia quelli inviati tramite querystring con metodo GET. Il metodo cerca nome_parametro nell'elenco dei parametri contenuti nella richiesta e ne restituisce l'eventuale valore.

Se ci troviamo a dover ricevere più di un parametro con lo stesso nome, cosa più che legittima e soprattutto molto utile in certe situazioni, si ricorre al metodo getParameterValues("nome_parametro"), sempre dell'oggetto request. GetParameterValues() restituisce un vettore di stringhe con tutti i diversi valori del parametro di cui si specifica il nome. Per accedere al singolo valore è sufficiente aggiungere un [n] in questo modo:

request.getParameterValues("nome_parametro")[0]
// per ottenere il primo valore 
// (in java si inizia a contare da 0)

request.getParameterValues("nome_parametro")[1]
// per il secondo e così via per tutti gli altri

Facciamo l'esempio di un form in cui permettiamo all'utente di inserire gli indirizzi dei siti che ha realizzato, per sviluppare il suo portfolio. Diciamo che l'utente può inserire quanti più siti desidera aggiungendo nuove caselle di testo, tramite JavaScript.

Alla fine il form creato dinamicamente avrà una quantità di input di tipo testo, tutti con lo stesso nome, ma la lettura dei dati dalla pagina JSP si risolve in poche righe.

<%

// prendiamo tutti i valori dell'input multiplo
if (request.getParameterValues("url_sito").length >0){
	
  // riversiamo l'array
  String[] websites = request.getParameterValues("url_sito");
	
  // stampiamo i valori ottenuti
  for(int i=0; i<websites.length; i++)
    out.println(websites[i]);	
}
%>

Un altro utilizzo tipico di questo metodo è quello di intercettare le liste di checkbox, quando assegnamo a tutte le caselle lo stesso nome.

Ti consigliamo anche