Menu

[3.3.1] Load GridPanel con JSON da JS server side

2016-01-15
2016-01-18
  • Mauro Roiter

    Mauro Roiter - 2016-01-15

    Salve a tutti,

    il mio obiettivo è quello di caricare nello store di un GridPanel un JSON che mi dovrebbe essere restituito da un'azione JS server.

    Seguendo la documentazione al link http://4wsplatform.org/javascript-lato-server-componente-per-lista-alim-da-js-lato-server/, ho costruito la mia azione Javascript Server nel seguente modo:

    var rows = utils.executeQuery(sql, null, false, true);
    utils.log("rows: " + rows, "INFO");
    var jsObjList = eval("(" + rows + ")");
    var jsonList = utils.getListResponse(jsObjList, jsObjList.length, false);
    utils.log("jsonList: " + jsonList, "INFO");
    utils.setReturnValue(jsonList);

    A questo punto dovrei ricevere lato client il jsonList come response della seguente request:

    var url = contextPath+"/executeJs?...";
    ...
    var response = new SyncRequest().send(url, 'POST', Ext.encode(json), 'application/json');
    var risp = Ext.decode(response);

    Il problema è che l'esecuzione si interrompe alla chiamata del metodo utils.getListResponse con il seguente errore:

    "sun.org.mozilla.javascript.EvaluatorException: Cannot convert sun.org.mozilla.javascript.NativeArray@3f8cecda to java.util.Map[] (<unknown source="">#92) in <unknown source=""> at line number 92"</unknown></unknown>

    Sembra che il metodo eval produca un oggetto che non è formattato o non è del tipo che si aspetta il metodo getListResponse.

    Dove sto sbagliando?

    Grazie mille.

    Mauro

     
    • Lorenzo Luccon

      Lorenzo Luccon - 2016-01-15

      Ciao Mauro,
      ti consiglio di aggiornare 4WS.Platform all'ultima versione: abbiamo fatto molti interventi su questo argomento e probabilmente la cosa si "risolve da sola".
      In caso contrario scrivimi pure.

      Ciao
      Lorenzo

       
      • Mauro Roiter

        Mauro Roiter - 2016-01-18

        Ok grazie del consiglio!

        Approfitto anche per fare un'altra domanda: è possibile eseguire del codice sql "complesso" con il metodo utils.executeQuery()? Per codice sql complesso, si intende composto da più statement separati da ";", come ad esempio una stored procedure?

        Grazie,

        Mauro

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.