2011-12-19 13 views
12

Sto scrivendo un'applicazione Spring MVC e sto cercando un modo per fare i layout nelle viste. L'unica opzione che vedo è Apache Tiles, che ho usato prima e so quanto sia doloroso mantenere la sua configurazione.Alternative di Apache Tiles

Ci sono buone alternative? Ho guardato a SiteMesh e Spring Surf entrambi sembrano essere dormienti.

risposta

10

Ho affrontato lo stesso dilemma circa un mese fa. Sono stato uno sviluppatore esperto con le tessere Apache e volevo provare qualcosa di diverso.

Ho fatto qualche ricerca e ho scoperto che Spring MVC ha una certa integrazione con freemarker e sitemesh. Ho deciso di dare un colpo.

Le piastrelle sembrano avere la comunità più attiva.

È anche possibile provare un'implementazione di velocità pura.

Per riassumere, il mio progetto ha finito per tornare alle tessere. Tiles è un solido framework di templating e, una volta compresi i suoi poteri, trovo difficile trovare un buon sostituto. Inoltre, se si è già esperti in piastrelle apache, trovo le benifits dei quadri di commutazione (se presente) non giustificano la curva di apprendimento necessaria per far salire SiteMesh/freemarker

http://www.sitemesh.org/overview.html

http://freemarker.sourceforge.net/

+0

Ho provato Scalate, ma non va bene.Hai ragione, non vale la pena di imparare un altro quadro quando Tiles può soddisfare tutti i miei bisogni. –

1

IMO SiteMesh e Tiles sono entrambi approcci abbastanza buoni, anche se le nuove versioni di Tiles aggiungono molta potenza inutilizzata - è più di un semplice meccanismo di template.

Se si riscontra un problema di manutenzione, prenderei in considerazione l'idea di avvolgerlo in un sottile strato di astrazione utilizzando una DSL o una GUI leggera, che possono fare una grande differenza.

2

Piastrelle e sitemesh sono molto diversi in ciò per cui sono progettati.

  • Le piastrelle vengono utilizzate come parte dell'applicazione progettata per l'uso di tessere.
  • Sitemash è progettato come filtro di fronte a una o più applicazioni già esistenti. Dove si desidera modificare l'output delle applicazioni (ad esempio (un'attività molto semplice) sostituire il logo o aggiungere un'opzione di menu aggiuntiva).

D'altra parte non vedo perché abbia così tanto xml. Devi scrivere un blocco xml per ogni pagina per definire quale layout ha bisogno. (Se si configura ancora un elenco di file contenenti le configurazioni dei riquadri, dare un'occhiata a "org.springframework.web.servlet.view.tiles2.TilesConfigurer".)

Se si desidera eliminare anche questi file, poi, forse, si dovrebbe pensare di più di estendere piastrelle che usare un altro quadro.

0

si potrebbe usare phpj

sua facile da usare, è dotato di esempi. Potete usarlo per visualizzare i modelli o generare il vostro contenuto HTML in qualsiasi modo tu voglia.