Mam następujący kod „renderuj jako xml” w moimkontroler, działa zgodnie z oczekiwaniami, jednak chcę wysłać e-mailem tę stronę lub jej zawartość w formacie XML. Nie wiem, jak to zrobić. Z góry dziękuję.
def xmlList = {
def list = foo.list()
render(contentType:"text/xml"){
foo{
bar{
for(a in list){
foobar(id:a..id)
}
}
}
}
}
Odpowiedzi:
0 dla odpowiedzi № 1Zakładam, że wiesz już, jak wysłać wiadomość e-mailz aplikacji Grails (jeśli nie opublikujesz osobnego pytania na ten temat). Jeśli to założenie jest słuszne, to wszystko, czego potrzebujesz, aby dowiedzieć się, jak przechowywać wygenerowany XML w zmiennej, zamiast zwracać go do przeglądarki. odpowiedzią jest po prostu użycie XMLBuilder
API bezpośrednio, zamiast przekazywania zamknięcia generującego XML do render
metoda:
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
}