Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205

    [java + jsp]problema con request.getParameter()

    Salve,

    Dal mio Controller.java recupero una stringa tramite la chiamata

    codice:
    String muro = request.getParameter("parere");
    e la inserisco in una tabella!

    Ho notato che se ricarico la pagina mi riinserisce lo stesso valore nella tabella perchè?? cosa devo fare?

    Grazie
    Saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Domanda difficile? o poco comprensibile?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    detta così non ha semplicemente senso perché dipende da diversi fattori:

    1. cosa intendi per "ricarico"
    2. la richiesta come è gestista col tuo reload

    per dirne 2
    RTFM Read That F*** Manual!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da valia
    detta così non ha semplicemente senso perché dipende da diversi fattori:

    1. cosa intendi per "ricarico"
    2. la richiesta come è gestista col tuo reload

    per dirne 2
    1. aggiornamento della pagina
    2. Muro.jsp
    codice:
    <%
                Pubblicazione p = (Pubblicazione) session.getAttribute("user");
               
                int num=p.quantiPareri();// conta i pareri
                String[] muro = new String[num];
                muro = p.visualizzaPareri();// restituisce un array di stringhe
    %>
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <link href="css/pagina.css" rel="stylesheet" type="text/css" />
            <title>The Wall</title>
        </head>
        <body><%for(int i=0;i<num;i++) {%>
            
    
    <%=muro[i]%></p>//visualizzo tutti i pareri inseriti fino ad un certo momento
                   <% }%>
            <form name="Go" action="Controller" method="POST">
                <input type="hidden" name="op" value="go">
                <label>Lasciami un parere:
    
                    <textarea name="parere" cols="60" rows="2">\\inserisco un parere 
                    </textarea>
                </label>
                
    
                <input type="reset" value="Cancella">
                <input name="submit" type="submit" value="Pubblica">//invia al controller
            </form>
        </body>
    </html>
    Controller.java
    codice:
            if ("go".equals(op)) {
                String muro = request.getParameter("parere");//recupero il parere inserito
    
                if(!muro.equals("")) {
                if (pub.insertParere(muro)) {//inserisco il parere in un db
                    request.setAttribute("op2", muro);
                    request.getRequestDispatcher("/Muro.jsp").forward(request, response);
                }
                }
                request.getRequestDispatcher("/Muro.jsp").forward(request, response);
            }

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    a quanto ho capito, dai lo stesso oggetto request al forward, che di fatto NON cancella l'input da te inserito. non sono espertissima in questo, ma almeno chi sa come si fa adesso ha qualche strumento per darti una mano
    RTFM Read That F*** Manual!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da valia
    a quanto ho capito, dai lo stesso oggetto request al forward, che di fatto NON cancella l'input da te inserito. non sono espertissima in questo, ma almeno chi sa come si fa adesso ha qualche strumento per darti una mano
    il reload di una pagina implica un nuovo invio dei parametri e di conseguenza una nuova esecuzione della servlet! quindi sta qua il mio problema! potrei mettere un controllo dato che prima di ritornare alla pagina Muro.jsp vado in index.jsp! però quale?

    Controller.java modificato
    codice:
            if ("go".equals(op)) {
                String muro = request.getParameter("parere");
                muro = muro.replace("\'", "\\'");
                muro = muro.replace("è", "è");
                muro = muro.replace("é", "é");
                muro = muro.replace("ò", "ò");
                muro = muro.replace("ç", "ç");
                muro = muro.replace("ù", "ù");
                muro = muro.replace("Ã", "à");
                muro = muro.replace("à¬", "ì");
                System.out.println("murooooooooooooo " + muro);
    
                if (!muro.equals("")) {
                    if (pub.insertParere(muro)) {
                        request.setAttribute("op2", muro);
                        String visualizza="visualizza";
                        request.setAttribute("op",visualizza);
                        request.getRequestDispatcher("/index.jsp").forward(request, response);
                    }
                }
                if (muro.equals("")) {
                    request.getRequestDispatcher("/index.jsp").forward(request, response);
                }
            }

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    attento perché puoi fare una nuova richiesta, ma la nuova richiesta a quanto pare si porta in pancia la vecchia richiesta, tu fai un forward...non so, è come se il forward "riprendesse" la request che ha aggiornando solo quello che gli interessa
    RTFM Read That F*** Manual!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da valia
    attento perché puoi fare una nuova richiesta, ma la nuova richiesta a quanto pare si porta in pancia la vecchia richiesta, tu fai un forward...non so, è come se il forward "riprendesse" la request che ha aggiornando solo quello che gli interessa
    Credo tu abbia centrato il problema ma come risolvo?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    io vedrei se c'è qualcosa legato all'ambiente che uso (che tutt'ora non conosco) e in ultima battuta farei una brutale rimozione della voce dalla mappa (o cmq un set a valore controllato che non crea problemi)
    RTFM Read That F*** Manual!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Per ora ho risolto mettendo un controllo nell'inserimento cioè se l'ultima riga della tabella è uguale al nuovo inserimento non lo inserisce! però non mi convince

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 © 2026 vBulletin Solutions, Inc. All rights reserved.