Есть ли эффективный способ вызвать шаблон Grails из строки, загруженной из БД? - PullRequest
1 голос
/ 04 апреля 2010

Я храню редактируемые пользователем статьи в базе данных. Пользователи могут вставлять в статьи несколько простых виджетов (графики и т. Д.). До сих пор я реализовал это как подтверждение концепции, позволяя пользователю вставлять графы вроде [graph-1], а затем выполнять поиск и замену строк.

Мне было интересно, есть ли более эффективные способы вызова шаблонов из строки? Может быть, с участием Sitemesh?

1 Ответ

5 голосов
/ 04 апреля 2010

Вот пример кода, который берет шаблон и привязку Map с переменными и отображает ее в строку:

import groovy.text.SimpleTemplateEngine

def engine = new SimpleTemplateEngine()
String templateContent = 'hello ${name}'
def binding = [name: 'world']

String rendered = engine.createTemplate(templateContent).make(binding).toString()

Вам просто нужно заменить жестко запрограммированный templateContent строкой из базы данных и заполнить карту привязки теми данными, которые имеют смысл для этого шаблона.

...