Как получить файл gsp, хранящийся в каталоге grails-app/views/teamplates, и изменить его в Grails

Я создал файл "_emailTemplate" в каталоге "grails-app/views/teamplates". Это файл шаблона html. Содержание файла приведено ниже,

<html>
  <strong>Client: </strong>${client}<br/>
  <strong>Training: </strong>${training}<br/>
  <strong>Dates: </strong>${dates}<br/>
</html>

Я хочу загрузить этот файл и заменить заполнители конкретными значениями, такими как

${client} with the value of client variable etc.

Как это сделать.


person n92    schedule 16.07.2012    source источник
comment
Grails — это не аббревиатура — это Grails, а не GRAILS.   -  person Burt Beckwith    schedule 16.07.2012


Ответы (1)


Вы можете преобразовать этот шаблон в строку. В любом контроллере вы можете использовать этот код:

def output = g.render(template: "/templates/emailTemplate", model: [client: 'John', training: 'Tennis', dates: 'tomorrow'])

g — это внедренный экземпляр RenderTagLib. Если вы хотите использовать его внутри службы, вы должны создать для себя экземпляр следующим образом:

def renderTagLib = new RenderTagLib()
def output = renderTagLib.render(template: "/templates/emailTemplate", model: [client: 'John', training: 'Tennis', dates: 'tomorrow'])
person Tomasz Kalkosiński    schedule 16.07.2012
comment
Или используйте bean-компонент groovyPageRenderer Spring, который можно автоматически подключить к службам обычным способом. - person Ian Roberts; 16.07.2012