2012-03-22 13 views
5

Utilizzo di Play Framework quanto sarebbe facile consentire a un utente amministratore di creare e modificare modelli e quindi di eseguire il rendering dei modelli.Play Framework generazione di modelli di runtime

Quindi essenzialmente funzionalità simile a CMS.

Sono nuovo nel Play Framework e lo sto valutando per l'utilizzo in un progetto personale.

Modifica
Un'alternativa è solo quello di usare un editor come CKEditor e solo salvare il codice HTML che nella banca dati e fornire qualche reskinning attraverso i CSS ma preferirei per consentire agli utenti che ne sanno più a modificare i modelli pure.

+2

Date un'occhiata a [ 'TemplateLoader'] (http: // www.playframework.org/documentation/api/1.2.4/play/templates/TemplateLoader.html). E 'quello che stai cercando? – senia

+0

Sì, potrebbe funzionare grazie. – eaglestorm

risposta

1

La risposta a questa domanda dipende se è necessario il contenuto dinamico nelle pagine modificabili.

In caso contrario, è sufficiente salvare il testo HTML. Se lo fai, ed è davvero limitato (come la sostituzione di un campo nome), puoi semplicemente eseguire una semplice sostituzione di stringhe sul testo HTML.

Se si decide di volere la piena gloria di modificare i modelli di gioco al volo (e sono ok con la considerazione di sicurezza), è possibile compilare i modelli. Nota come è fatto in Play 1.2.x - anche se senza dubbio simile in Play 2.x. Assicurati di memorizzare nella cache i modelli, dal momento che sono costosi per la compilazione (controllare TemplateLoader.load (file VirtualFile) per le idee su come cache e aggiornamento)

String name = "mytemplate"; 
String source = "hi ${name}"; 
Template template = new GroovyTemplateCompiler().compile(new GroovyTemplate(name, source))); 
Map<String,Object> args = new HashMap<String,Object>(); 
args.put("name","mom"); 
String renderedHtml = template.render(args);