Carissimi,
credo che per web application serissime, destinate ad esempio a rappresentare il main business di un'azienda, tre siano i passi. Il primo, fare in modo che il sfw faccia tutto quanto deve. Il secondo, fare in modo che lo faccia nel modo migliore e più stabile e collaudato possibile. Il terzo, perfezionare il codice in modo maniacale, perché tutto quello che si fa in questa terza fase non sarà mai sprecato, e perché un codice scritto in modo davvero perfetto si mantiene e si aggiorna benissimo e ripaga ogni sforzo.
Bene, in questa fase vorrei "migliorare" (perfezionare è ancora presto, non è un'applicazione semplice) la parte html. Sono quindi a porvi due quesiti.
Nessuno dei miei controlli è come quelli usuali. Tutto, bottoni, caselle, combo, calendari, sono stati disegnati da me personalmente in quanto con una scelta a molti opinabile ho scelto di non usare nessuna risorsa di terze parti con uno scopo preciso: conoscere alla perfezione il codice che li compone ed ottenere una compatibilità assoluta, che è stato il mio scopo sin dall'inizio e che mi ha fatto cestinare moltissime blasonate soluzioni (Dojo, Zx, ecc).
Primo: ogni mio controllo richiede fiumi di html. Ad esempio, un input="text" include regolarmente istruzioni su class, width, onmouseover, onmouseout, onblur, onclik, onfocus, name id ecc. Quando va bene. Quando va male, al mio controllo si accompagna anche un tag div (esempio, la mia combo personalizzata) dove ogni riga option ha tre diversi attributi. Il codice html che scrivo proprio non mi piace, e quando metto mano al sorgente della pagina jsp ci vuole la bussola. Vorrei creare qualcosa che richiami una funzione javascript che crei in automatico il codice html necessario all'atto della creazione pagina ovvero che ne associ correttamente le funzionalità. Non so di preciso, ma ho visto qualcosa che semplicemente sfruttando un id o un attributo particolare presente nel tag richiama tutto il necessario. Prendete proprio Dojo o Zx: loro lo fanno. Non ho capito come né li uso perché pur essendo validati w3c non sono compatibili con tutti i browser come piaceva a me, ma loro si comportano proprio in questo modo. Potete dirmi come facciano? Ovvero, come posso con poche istruzioni associare ad un tag (ad esempio input) tutti gli attributi di stile e le funzioni Javascript? Come posso magari con una sola istruzione di richiamo e relativi argomenti assegnare a quel tag uno stile e n funzioni javascript, ognuna per un particolare evento? Ovvero, con una sola istruzione js (con molti argomenti, ovvio) associare oltre a diverse funzioni js anche una classe di stile e magari un id?
Secondo: in ogni pagina ci sono parti che si ripetono, precisamente la parte di sopra e quella di sotto, mentre quella centrale cambia a seconda del modulo e della pagina. Mi direte voi: usa il tag <%@include file="nomefile.jsp"%> che jstl mette a disposizione. Bene, io vorrei qualcosa di più. A parte il fatto che non posso usare tale tag per ogni frammento di pagina altrimenti il validator di Eclipse in alcuni casi si inquieta e mi ricorda che i vari frammenti non trovano i tags di chiusura, ma soprattutto vorrei fare qualcosa di diverso. Ovvero (forse sarò un folle, non so se questa cosa esista), creare una pagina jsp "madre" con un segnaposto nella zona centrale. Poi, in ogni pagina dei moduli della mia applicazione, richiamare quella pagina e scrivere solo il codice da mettere nei due segnaposti. Qualcosa tipo "paginamadre middle=(e tutto il codice da posizionare in middle)". Esiste qualcosa di simile?
Grazie a tutti per la pazienza.