Ciao,
sto creando una web app, senza utilizzare framework, cercando di seguire la struttura MVC in single page application.
Nella pagina principale ho una tabella fatta con Datatable, su di cui è possibile fare le solite azioni "Edit" "Delete" "Insert". Premetto che non voglio mettere i bottoni delete e edit nella tabella (né avere le righe della datatable editabili), ho creato una toolbar sopra la tabella con dentro i bottoni.
L'azione Delete l'ho realizzata con javascript e facendo un ajax call alla servlet "eseguiAzione" passando per parametro l'azione di delete, che si occupa di gestire le azioni possibili sulla tabella, passandogli l'id della riga e l'azione da fare (delete).
Codice:
$.ajax({
type: "POST",
cache: false,
url: "../ActionOnRowTable",
dataType: "text",
data: { "action":"delete", "id":JSON.stringify(id_row_selected) },
success: function(dataItem) {
oTable.fnReloadAjax();
$.growlUI('Delete notification', 'Record successfully deleted.');
},
complete: function(){
$('#main_content_table').unblock();
}
});
Per le azioni di Insert/Edit ho mille dubbi..
Quello che volevo fare era: uno clicca il pulsante Insert o di Edit, si apre una finestra nuova con una form contenente tutti i campi (nel caso del bottone Edit i campi sono già compilati con i dati del db), si compila/modifica, si salva e la finestra si chiude.
Il problema è: la finestra la apro da JS o dalla servlet "openPagina"?
Nel caso che la apro dalla JS, quando carico la pagina jsp, come fa a prendere i dati? instanzia lei i javabean e usa le apposite classi per recuperare i dati? ma così facendo la jsp che è la View non diventa anche il Controller?
Nel caso che apro la nuova pagina dalla servlet "openPagina", passo i dati sotto forma di Bean alla pagina jsp con una forward, corretto?
Altra cosa: come passo poi i dati dalla jsp alla servlet "eseguiAzione" per eseguire le azioni richieste?
in teoria volevo memorizzare i dati della form in un bean con scope require sulla jsp e poi chiamare in ajax call la servlet "eseguiAzione", e da lì recuperare il bean. E' un approccio corretto?
Spero di aver reso l'idea del problema, mi rendo conto che è difficile spiegarlo..
Grazie !