Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63

    Passare un vettore da una servlet ad un altra

    Nella mia servlet ho un vettore

    codice:
    String check[] = request.getParameterValues("intestazione");
    è String, ma i valori che andranno a comporre questo vettore sono dei numeri interi.

    Ora tramite una form, meglio se l'input è hidden, vorrei passare questo vettore in un altra servlet. E' possibile?

    Ho trovato questo codice ma è per php
    codice:
    Il campo hidden però non supporta valori multipli, per cui volendo ad esempio passare un array per mostrare ad esempio una serie di numeri ci troviamo di fronte ad un problema.
    
    Un problema che può però essere risolto, trasformando l'array in una stringa
    
    $valore = implode(”,”, $my_array);
    
    echo ‘<input type=hidden name=”valore” value=”‘.htmlspecialchars($valore).’”>’;
    
    e ricomponendo l'array nella pagina di destinazione
    
    $array_valori = explode(”,”,$_POST['valore']);
    se ci fosse qualcosa di simile per le servlet sarebbe perfetto.

  2. #2

    Re: Passare un vettore da una servlet ad un altra

    Originariamente inviato da mauc
    codice:
    String check[] = request.getParameterValues("intestazione");
    Questo in Java significa che nella tua pagina hai tanti input name="intestazione" e in quell'array ci sono tutti i valori di quegli input.
    Da quello che c'è nell'esempio invece noto che c'è una stringa di tanti valori separati da una virgola.

    Se vuoi passare i parametri tramite N input allora va bene il codice Java che usi, se invece vuoi fare come nell'esempio in PHP ti basta un input solo costruisci la stringa e poi basta inserire l'input in una form con come action l'url della servlet a cui vuoi passare il parametro.

    codice:
    <form action="/app/TuaServlet" method="POST"><input name="intestazione" value="1,2,3,4,5,6,7,8,9"/></form>
    poi overridi il metodo doPost di TuaServlet ed usi
    codice:
    String[] check = request.getParameter("intestazione").split(",");
    lolide
    Java Programmer

    Informati

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63
    codice:
    String check[] = request.getParameterValues("intestazione");
    questi sono i valori proveniente da un checkbox. Detto questo, quindi, sono nella SERVLET1 e faccio
    codice:
    String check[] = request.getParameterValues("intestazione");
    , in questa stessa servlet creo una form per poi andare nella SERVLET2

    codice:
    <form action="/app/TuaServlet" method="POST"><input name="intestazione" value="1,2,3,4,5,6,7,8,9"/></form>
    ma in value che gli metto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63
    ho risolto mettendo nel form

    codice:
    for (int q=0; q<check.length;q++){
                        out.println("<input type=hidden name=intestazione value='"+check[q]+"'>");
                    }
    e nella servlet successiva un semplice

    codice:
    String check[] = request.getParameterValues("intestazione");

  5. #5
    Originariamente inviato da mauc
    ho risolto mettendo nel form

    codice:
    for (int q=0; q<check.length;q++){
                        out.println("<input type=hidden name=intestazione value='"+check[q]+"'>");
                    }
    e nella servlet successiva un semplice

    codice:
    String check[] = request.getParameterValues("intestazione");
    Te l'avevo detto infatti che se vuoi usare getParameterValues NON puoi creare un solo input intestazione, ma ne devi creare tanti (con quel ciclo appunto) e poi usare nella servlet di destinazione quella funzione....

    Tu invece hai messo nell'esempio UNA input con value="1,2,3,4,5,6,7" ma successivamente facendo getParameterValues non ricevi un array di 7 valori, ma un array con un valore solo (1,2,3,4,6,7) che poi TU devi splittare con .split(",");
    lolide
    Java Programmer

    Informati

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.