java - example - ¿Cómo pasar String como entrada en FreeMarker?
freemarker== (1)
Esta pregunta ya tiene una respuesta aquí:
- Cargar plantillas FreeMarker desde la base de datos 5 respuestas
Todas las plantillas se almacenan en la base de datos. Y tengo que recuperar el contenido de una plantilla de la base de datos y marcarlo con freemarker. La salida final se representará en un cuadro de texto.
Pero, no encuentro ninguna metodología por la cual pueda enviar una cadena en lugar del nombre del archivo.
Por favor recomiende.
Puede pasar su plantilla al constructor de plantillas con un StringReader :
// Get your template as a String from the DB
String template = getTemplateFromDatabase();
Map<String, Object> model = getModel();
Configuration cfg = new Configuration();
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template t = new Template("templateName", new StringReader(template), cfg);
Writer out = new StringWriter();
t.process(model, out);
String transformedTemplate = out.toString();