[3.3.1] Load GridPanel con JSON da JS server side
Development Platform for Web and Mobile Applications
Brought to you by:
lorenzoluccon,
mcarniel
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
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
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