Domanda

Sto usando GWT 2.3 con GWTP Framework. In questa applicazione sono WAN per mantenere un tempo di sessione di 5 minuti. Questo significa se l'utente attuale non sta facendo fino a 5 minuti e arriva dopo cinque minuti, quindi sul suo primo evento/azione sullo schermo a dovrebbe essere disconnesso. In GWT esiste una classe denominata timer che può essere utilizzata in questi numeri. Ma non sto ottenendo come riconoscere l'azione dell'utente sullo schermo. Ho fatto Google su di esso e ho trovato il codice per GWT-Ext.Below è il codice di GWT-Ext

Ext.get(“pagePanel”).addListener(“click”, new EventCallback() {
    @Override
    public void execute(EventObject e) {
        MessageBox.alert(“On Mouse Click”);
    }
});

Ext.get(“pagePanel”).addListener(“keydown”, new EventCallback() {

    @Override
    public void execute(EventObject e) { 
        MessageBox.alert(“On Key Press Click”);
    }
});

Nel tag di codice sopra nel funzionamento correttamente in modo da allegare il link da dove ho ottenuto questo codice.qui

Stesso tipo di codice che sto cercando in GWT. Se c'è qualche altro modo migliore per farlo, per favore fatemelo sapere. Grazie in anticipo

È stato utile?

Soluzione

Se l'azione/evento può essere davvero tutto ciò, lo risolverei con a NativePreviewHandler nel seguente modo:

boolean expired;

final Timer logoutTimer = new Timer() {
    @Override
    public void run() {
        expired = true;
    }
};

NativePreviewHandler nph = new NativePreviewHandler() {

    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        if (!expired) {
            logoutTimer.cancel();
            logoutTimer.schedule(300000);
        } else {
            // do your logout stuff here
        }
    }
};

Event.addNativePreviewHandler(nph);

Se la shell dell'utente deve essere disconnesso senza una nuova azione dopo 5 minuti:

final Timer logoutTimer = new Timer() {
    @Override
    public void run() {
        // do your logout stuff here
    }
};

NativePreviewHandler nph = new NativePreviewHandler() {

    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        // Of course do this only when logged in:
        logoutTimer.cancel();
        logoutTimer.schedule(300000);
    }
};

Event.addNativePreviewHandler(nph);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top