Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    alerts durante l'esecuzione di una servlet: è possibile?



    il titolo parla da solo tuttavia la situazione è la seguente:

    ho una jsp con una form, la quale invia i dati, attraverso una servlet, in un db... ma devo verificare che questi dati non siano gia stati inseriti.

    la mia idea (se voi avete altre idee proponete pure, i consigli si accettano sempre volentierissimo) è quella di, all'interno della servlet, fare una select con il valore che sto per inserire e se non trova nulla fare l'inserimento.

    il problema è: in caso trovassi qualcosa... come posso notificarlo attraverso un alert all'utente finale e riportarlo alla jsp con la form di inserimento?

    esiste una sorta di break della servlet... per uscire e riportarti dov'eri prima?? scusate per le domande un po sciocche ma non sono un esperto di java e non so cosa si pià e cosa non si può fare.

    grazie

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    non puoi fare un'alert da una servlet ma puoi tornare alla pagina della form e visualizzare un normale messaggio di errore (ex. scritto in rosso) che avvisa in merito a cosa e' andato storto.

    nel caso piu' semplice del mondo:

    nella servlet:
    codice:
    if(bla bla bla) {//errore!
        request.setAttribute("errore", "errore in bla bla bla");
        request.getRequestDispatcher("pagina_con_form.jsp").forward(request, response);
        return;
    }
    nella jsp dove vuoi far comparire l'errore (se presente)
    codice:
    <c:if test="${! empty errore}">
        <c:out value="${errore}"/>
    </c:if>

  3. #3
    ciao... e grazie... comunque ti spiego il mio caso particolare:
    la condizione nella servlet è la seguente

    if(rs.next()){
    req.setAttribute("errore", "errore: l'area selezionata è già stata assegnata");
    req.getRequestDispatcher("assignSeller.jsp").forwa rd(req, res);
    return;


    }else{
    ......inserisce il record
    }

    in pratica deve dirmi che non è possibile inserire un'area duplicata.

    nell'html della jsp (assignSeller.jsp):

    <c:if test="${! empty errore}">
    <cut value="${errore}"/>
    </c:if>


    solo che non mi viene visualizzato nessun messaggio di errore. come mai?

    grazie ancora

  4. #4
    Usa AJAX...

    Fai partire la richiesta verso la servlet di verifica... Fai ritornare una stringa (vedi la guida qui su html) che dice se l'inserimento è avvenuto o no... Tramite javascript fai l'alert in caso negativo o fai ciò che devi fare in caso di insert positivo.
    Al mio segnale... scatenate l'inferno!

  5. #5
    :master: AJAX è uno strumento molto potente e sono sicuro che grazie a questa tecnologia risolverei ad occhi chiusi molti dei miei problemi.... purtroppo è una cosa che devo finire al più presto e non ho tempo per mettermi a studiare... appena finirà questo periodo cosi... mi prenderò un manuale e cercherò di tirarne fuori qualcosa....

  6. #6
    guarda che ti ci vogliono 5 minuti per capire come funziona
    Al mio segnale... scatenate l'inferno!

  7. #7
    eh.. me lo hai gia detto
    magari in pausa pranzo gli do un'occhiata... intanto cerco di risolvere sta cosa con metodi alternativi...

  8. #8
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    strano che non funzioni...
    prova a specificare
    codice:
    <c:if test="${! empty requestScope.errore}">
    ...ma dovrebbe funzionare indipendentemente, a meno che tu abbia definito nello scope della pagina un'altra variabile che si chiama "errore".

  9. #9
    neanche cosi va
    forse sono io che sbaglio a posizionare il tag <c>

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.