Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4

    jsp salvare la scelta di una select option nella request

    Salve a tutti!! Premetto chesono alle prime armi con jsp ,vorrei sapere come faccio a salvare la scelta di una select option nella request e a stamparla nella pagina successiva??? Ho provato così ma..... non mi funziona

    <form method="post" action="estrai.jsp">
    <fieldset>
    <legend>Scelta Prodotti</legend>
    <label for="prodotto"> </label>

    <table>
    <tr>
    <td>Prodotto </td>
    <select name="prodotto" id="prodotto">
    <option>Seleziona un prodotto</option>

    <%
    Connection conn = null;
    PreparedStatement st = null;
    ResultSet rs = null;
    String driver = "org.gjt.mm.mysql.Driver";
    Class.forName(driver);

    try {
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/basedati","root","password");
    st = conn.prepareStatement("SELECT codice,tipo,descrizione FROM prodotti order by tipo ");
    rs = st.executeQuery();
    while(rs.next()){
    Prodotto p= new Prodotto();
    p.setCodice(rs.getString("codice"));
    p.setTipo(rs.getString("tipo"));
    p.setDescrzione(rs.getString("descrizione"));
    %>
    <option value="a1"> <%=p.tipo%> - <%=p.descrizione%> </option>

    <%
    }

    }catch (SQLException sqle) {

    throw new SQLException("Errore persistenza" +sqle);
    }finally {
    if(conn != null)
    rs.close();
    st.close();
    conn.close();
    }
    %>

    </td>
    </tr>
    </select>
    </table>
    <input type="submit" value="view"/>
    </fieldset>
    </form>
    <%
    String prodotto = request.getParameter( "prodotto" );
    %>
    nella pagina successiva ho provato a scrivere così..
    <%
    String prodotto =(String)request.getAttribute( "prodotto");
    // String prodotto = (String)request.getAttribute("prodotto");
    out.println("

    "+prodotto+"</p>");

    %>
    mi stampa null Dove sbaglio??????
    Grazie in anticipo!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4
    Forse sono stato poco chiaro.....
    o forse non ho capito bene il funzionamento delle jsp
    cmq ho una form a cui sottometto una select option; di regola la form dovrebbe salvarmi nella richiesta la scelta della select
    io associo alla stringa prodotto il nome della select
    <%String prodotto =request.getParameter("prodotto");%>
    poi nella pagina successiva (ovvero quella corrisponsente all'action della form)
    prelevo la stringa dalla sessione :
    String prodotto = (String)request.getAttribute("prodotto");
    Perchè non funziona.......... Potete aiutarmi cortesemente a capire queste jsp???

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4
    erroneamente ho scritto prelevo la stringa dalla sessione ma intendevo dalla richiesta

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Sei nel forum sbagliato: Java ha un forum dedicato.

    Ti sposto.

    Quando posti il codice, inseriscilo fra i tag [code] e [/code] così rimane indentato e diventa leggibile.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    String prodotto =(String)request.getParameter( "prodotto");

    non getAttribute...

    Inoltre nella pagina dove è presente la form:

    1) è inutile la riga: String prodotto =(String)request.getParameter( "prodotto");
    2) ad ogni option della select assegni sempre lo stesso valore nel ciclo while:
    <option value="a1" > <%=p.tipo%> - <%=p.descrizione%> </option>
    quindi nella pagina successiva, qualsiasi valore sarà selezionato, nella variabile prodotto avrai sempre a1
    Al mio segnale... scatenate l'inferno!

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Oltretutto il metodo getParameter() ritorna un oggetto String, quindi il cast è superfluo...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.