Visualizzazione dei risultati da 1 a 6 su 6

Discussione: sincronizzazione

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    24

    sincronizzazione

    E' possibile fare in modo che la servlet RicercaPost termini prima che parta RicaricaElenco.jsp ?
    N.B. che la pagina RicaricaElenco.jsp in realtà è fasulla serve solo per ritardare di un po' (con un ciclo vuoto) il caricamento della pagina vera. A volte però non basta e se aumento il ciclo il browser si accorge che è uno script che rallenta l'esecuzione della pagina e lo interrompe.

    function Reset() {
    waitw = waitWindow2("Caricamento dei dati in corso.");
    document.form1.pulisci.value="S";
    document.form1.action="/Prova/RicercaPost";
    document.form1.submit();
    window.opener.top.location="/Prova/RicaricaElenco.jsp";
    Chiudi();
    return true;
    }

    Grazie e ciao a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In JS (lato client) non si possono fare "cicli di ritardo", pena il blocco del client stesso.

    pero` esistono gli eventi, che fannopartire dei processi al verificarsi di qualcosa.

    Occorre quindi legare il tuo location.href= all afine della servlet.

    Io non conosco le servlet, ed in particolare non so cosa faccia la tua.

    Comunque in quello script ci sono anche altri problemi. Dopo aver inviato un form, al pagina non esiste piu`, quindi non hanno senso le istruzion successive. Solo IE scambia l'ordine di esecuzione delle istruzioni.

    In linea di massima, il reload della pagina va fatto dalla pagina che viene ritornata in risposta al form.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    24

    non ho capito

    Non ho ben capito la risposta, in quanto lo script (a volte) funziona, quindi anche dopo la submit del form viene eseguito, e cioè viene chiusa la finestra in questione e ricaricata la pagina sottostante. E il problema 'a volte' che mi preoccupa, perchè alcune volte sembra che la servlet venga completata dopo il ricaricamneto della pagina.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    la mia risposta era piuttosto generica, perche`:

    1. hai postato una funzione che chiama varie funzioni, ma non ci sono le funzioni chiamate;
    2. io non conosco le servlet, ed in particolare quelle che tu citi;
    3. stai mescolando codice lato server con codice lato client (i momenti e le macchine soo diversi).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    24
    Il gioco è il seguente:

    Una pagina jsp con un elenco estratto da un DB ha un pulsante che apre una finestra con il seguente script:

    function Ricerca()
    {
    waitw = waitWindow2("Caricamento dei dati in corso.");
    if(Ric && !Ric.closed)
    {
    Ric.close();
    Ric = null;
    }
    // Ric = window.open("/prova/RicercaPrep","Ric","width=550,height=420,top=10,le ft=100,resizable=yes,scrollbars=yes,menubar=no,too lbar=no,status=no,location=no");
    Ric.focus();
    }

    che chiama una servlet (RicercaPrep) che prepara una jsp che permette di impostare dei parametri di estrazione per modificare l'elenco della pagina sottostante.

    La pagina jsp di gestione parametri all'atto della sottomissione esegue il seguente codice:

    function Reset() {
    waitw = waitWindow2("Caricamento dei dati in corso.");
    document.form1.pulisci.value="S";
    document.form1.action="/prova/RicercaPost";
    document.form1.submit();
    window.opener.top.location="/prova/RicaricaElenco.jsp";
    Chiudi();
    return true;
    }

    che dovrebbe:
    1) aprire una finestra con la scritta "caricamento in corso"
    2) sottomettere la servlet RicercaPost che imposta in session i nuovi parametri per l'estrazione dati.
    3) ricaricare la pagina di elenco (RicaricaElenco.jsp) che rileggendo i dati dalla session estrae un elenco diverso.
    4) chiudere la finestra di impostazione parametri.

    Il tutto funziona correttamente ma solo alcune volte, sembra quasi che la servlet che imposta in sessin i parametri termini dopo che la il ricaricaelenco abbia agito, in quanto l'elenco non risulta modificato anche se le variabili in session sono cambiate.

    Il mio scopo sarebbe quello di riuscire a vincolare il termine della servlet di impostazione parametri con l'inizio del ricarica elenco tramite qualche evento.

    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ancora mancano dei pezzi: la funzione waitWindow2() e la Close().

    Ma da quanto dici sembra che la servlet sia un processo sul server.

    Da JS non puoi agire sul server o controllarlo.
    Il server ed il client si "parlano" solo nella richiesta di una pagina (client --> server) o nello scaricamento della pagina (server --> client).

    Ci possono essere poi degli effetti legati al caching delle pagine sul client (non viene ricaricata una pagina gia` presente sul client).

    Credo che dovresti rivedere il progetto alla luce di queste considerazioni.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.