Il progetto su cui sto lavorando ha molti file JSP, alcuni dei quali hanno blocchi di script javascript sparsi ovunque e alcuni di questi script interagiscono con altri pacchetti javascript che sono serviti ai client. Questo sicuramente ha un odore di codice per me, ma sto avendo problemi a capire quale sia una buona pratica per separare correttamente queste preoccupazioni.
Ecco qualche piccolo pseudocodice di ciò che il mio file JSP potrebbe contenere:
<div class="row">
<div class="column" id={someId}>
<p>Some text..</p>
</div>
</div>
<script type="text/javascript">
bindToSomeEventThisFunction(
someFunction()
{
performSomeOperationOnId( {someId} );
});
</script>
Il modello definisce dinamicamente un html basato su un objectID. Il javascript che segue definirà alcune funzioni associate a un evento clientSide. Mi piacerebbe spostare questo javascript dal file JSP ma il mio problema è che l'azione performSomeOperationOnId
dipende dall'ID generato dinamicamente.
Uno dei requisiti è che il caricamento iniziale dovrebbe fornire tutti gli html e javascript necessari per fornire un'interfaccia utente funzionante. Mi piacerebbe essere in grado di rendere l'intero oggetto senza effettuare chiamate ajax.
Una soluzione che stavo considerando è:
- crea un modello javascript come oggetto e inseriscilo nel JSP. Tutti i javascript clientide dovrebbero interagire solo con questo modello.