Электронная почта предоставлена ​​XML - PullRequest
0 голосов
/ 07 апреля 2011

В моем контроллере есть следующий код 'render as xml', он работает, как и ожидалось, однако я хочу отправить эту страницу или содержимое этой страницы по электронной почте в формате XML.Я запутался, как это сделать.Заранее спасибо.

def xmlList = {
  def list = foo.list()
  render(contentType:"text/xml"){
    foo{
      bar{
        for(a in list){ 
          foobar(id:a..id)  
        }
      }
    }
  }
}   

1 Ответ

0 голосов
/ 07 апреля 2011

Я предполагаю, что вы уже знаете, как отправить электронное письмо из приложения Grails (если вы не отправите отдельный вопрос об этом).Если это предположение верно, то все, что вам нужно, это выяснить, как сохранить сгенерированный XML в переменной, а не возвращать его в браузер.Ответ заключается в том, чтобы просто использовать API XMLBuilder напрямую, а не передавать генерирующее XML замыкание методу render:

def xmlList = {
  def list = foo.list()

  def builder = new XMLBuilder()
  def result = builder.build {
    foo {
      bar {
        for(a in list) { 
          foobar(id:a..id)  
        }
      }
    }
  }

  def emailBody = result.toString()

  // Now pass the emailBody (along with the recipient address, subject line, etc.)
  // to whatever you use to send emails
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...