Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Recupero dati da form

  1. #1

    Recupero dati da form

    Salve a tutti, ho un problema e premetto che sono una schiappa con le jsp.
    ho fatto un form con molti campi di testo e adesso dovrei processarli in una jsp.
    Visto che i campi di testo sono circa 30 vorrei sapere se c'è un modo più semplice che recuperare ogni campo di testo e poi farlo stampare a video.
    Spiego meglio quello che vorrei fare.
    Questi campi solo liberi, ci sono due campi di testo il primo descrive il prodotto ed il secondo il prezzo.
    Quindi devono essere associati uno all'altro.

    Come esempio nella guida di jsp del sito html avevo pensato di usare un ciclo while ma purtroppo non riesco a stampare nulla.

    codice:
    int i=0;
            for (i=0; i<32; i++){
                if (request.getParameterValues("nome")[i].length()==0)
                out.println(request.getParameterValues("nome")[i]);
            }
    La pagina non genera nessun errore ma purtroppo non stampa nulla a video come mai?

    Inoltre non sono sicura che i campi vengano presi in ordine e quindi poi associati con lo stesso ordine a quelli dei prezzi.
    Mi indicate una soluzione migliore se c'è?

    Grazie Francy

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    getParameterValues() lo usi quando all'interno di un form ci sono più campi che hanno lo stesso 'name'. È il tuo caso?
    Puoi spiegare un po' meglio come sono i campi del tuo form?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si scusami hai ragione, comunque i campi hanno lo stesso nome.

    codice:
    <td><input type="text" name="nome" size="35" /></td>   // Relativo al nome del prodotto
    <td><input type="text" name="valore" size="5"/></td>    // Relativo al prezzo del prodotto
    .
    .
    .
    <td><input type="text" name="nome" size="35" /></td>  // Relativo al nome del prodotto
    <td><input type="text" name="valore" size="5"/></td>    // Relativo al prezzo del prodotto
    poi la mia intenzione era recuperare prima tutti i valori associati ai campi nome
    e poi quelli valore.

    Spero di esser stata chiara.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da francysonoio
    Spero di esser stata chiara.
    Sì, ora è chiaro che hai un array di parametri "nome" e uno di parametri "valore". Quindi usare getParameterValues è ok. Ho notato solo ora il test che hai scritto sopra: hai testato che la lunghezza sia 0 mentre immagino ovviamente che tu voglia fare il contrario, cioè stampare se la stringa non è vuota.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ecco perchè la pagina era bianca.
    Ok credo di aver risolto allora.
    il codice allora va scritto in questo modo?

    codice:
    int i=0;
            for (i=0; i<32; i++){
                if (request.getParameterValues("nome")[i].length()!=0)
                out.println(request.getParameterValues("nome")[i]);
            }

    Grazie ancora, dopo lo testo sperando di non aver problemi.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da francysonoio
    il codice allora va scritto in questo modo?
    Sì. Comunque ti conviene "portare fuori" il getParameterValues() dal for, così prendi l'array solo 1 volta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Scusami ma non ho capito come fare.
    In che senso portarlo fuori per prendere una sola volta l'array?

    Nella guida veniva illustrato anche un altro esempio con un ciclo while, che differenza c'è?
    quale conviene usare in questo caso?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da francysonoio
    Scusami ma non ho capito come fare.
    In che senso portarlo fuori per prendere una sola volta l'array?
    Intendevo questo:

    codice:
    String[] nomi = request.getParameterValues("nome");
    
    for (i=0; i<32; i++) {
        if (nomi[i].length() != 0)
            out.println (nomi[i]);
    }
    Originariamente inviato da francysonoio
    Nella guida veniva illustrato anche un altro esempio con un ciclo while, che differenza c'è?
    quale conviene usare in questo caso?
    Conviene il for. Se usavi il while dovevi inizializzare l'indice prima del ciclo, testare while (i < 32) e al fondo del ciclo incrementare l'indice. Praticamente le stesse cose che fa il for.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Grazie adesso ho capito come fare il ciclo
    sei stato molto gentile.

    A presto Francy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.