Как передать String как входной сигнал в FreeMarker? - программирование
Подтвердить что ты не робот

Как передать String как входной сигнал в FreeMarker?

Все шаблоны хранятся в базе данных. И я должен получить содержимое шаблона из базы данных и помечен freemarker. Конечный вывод будет отображаться в текстовом поле.

Но я не нахожу никакой методологии, по которой я могу отправить строку вместо имени файла.

Просьба предложить.

4b9b3361

Ответ 1

Вы можете передать свой шаблон в конструктор Template с 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();