Ответ 1
Это проще, чем вы думаете:
def myTemplateString = g.render(template: "test", model: [foo: bar])
Можно ли "отобразить" шаблон в строку? Я хотел бы использовать шаблон и заполнить его некоторыми значениями, которые затем я должен сохранить на локальном диске.
Метод визуализации всегда отправляет шаблон клиенту. Я хочу что-то подобное для запуска шаблона, но сохраняю вывод из шаблона в локальную строковую переменную, которую я могу хранить в локальной файловой системе.
Это проще, чем вы думаете:
def myTemplateString = g.render(template: "test", model: [foo: bar])
Если вы используете Grails 2.x, вы можете использовать класс PageRenderer. Попробуйте что-то вроде этого:
grails.gsp.PageRenderer groovyPageRenderer
void methodName() {
def contents = groovyPageRenderer.render(template:"yourTemplate", model:yourModel)
//you can use contents as a string now
}
Это будет работать вне сферы действия веб-запроса, например, в запланированном задании или веб-службе.