Почтовый плагин Grails неправильно отображает шаблон - PullRequest
0 голосов
/ 07 августа 2011

Я использую Grails 1.3.7 с плагином mail-1.0-SNAPSHOT. Я хотел бы создать сообщение, используя шаблон GSP, который я сохранил как /email/invitation.gsp

Соответствующая часть ВСП выглядит следующим образом:

<p>To create a login, click on this 
<g:link controller="register" action="withInvitation" absolute="true" 
    params="[t:invitation.invitee.token]"  
    title="Create a new Querium login">link</g:link>.
</p>

и я звоню из моего сервиса следующим образом:

void generateInvitationEmail(Invitation invitation) {
    def conf = SpringSecurityUtils.securityConfig
    String name = invitation.inviter.displayName()
    mailService.sendMail {
        to invitation.invitee.email
        from conf.ui.register.emailFrom
        subject "${name} wants to collaborate with you on ${invitation.topic.name}"
        body( view:"/email/invitation", 
            model:[invitation: invitation])
}

Хотя шаблон сортируется и электронная почта отправляется, есть две проблемы:

Если я укажу параметр absolute="true" в теге <g:link />, URL будет интерполирован в результирующий элемент <a ></a>, но это неправильный URL. Вместо того, чтобы иметь форму

http://localhost:8080/appName/register/withInvitation?t=23bc7307-3558-46df-9c85-5f944eb26464

это выглядит так:

http://localhost:8080/appName/appName/register/withInvitation?t=23bc7307-3558-46df-9c85-5f944eb26464

С другой стороны, если я не укажу параметр absolute, ссылка вообще не будет отправлена.

Если я отображаю этот шаблон из контроллера, указание absolute=true также приводит к неправильному URL, тогда как пропуск absolute создает правильный.

Есть ли способ заставить это работать должным образом из службы?

Спасибо!

Gene

...