Grails: Как получить доступ к i18n с контроллера или службы?

Я создал этот контроллер, который должен использоваться для отправки электронных писем. Мне нужен доступ к i18n , чтобы отправлять локализованные электронные письма.

class MailController {

    MessageSource messageSource 

    static transactional = false

    public void sendEmail() {
        String name = "some name..."
        String subject = message(code:"somemessagekey", args:[name])
        // do some fancy stuff here...
    }
}

Затем есть файл i18n (находится в папке i18n ):

file name: messages.properties
content: somemessagekey = Blabla {0} - blablabla

После того, как я его запустил, он выдает (в интеграционном тесте):

groovy. lang.MissingPropertyException: нет такого свойства: messageSource для класса: org.codehaus.groovy.grails.support.MockApplicationContext

У меня нет идей, как обрабатывать эту локализацию в контроллере (я также пробовал это в службе, но это еще более сложно).

20
задан Bharti Rawat 15 February 2019 в 12:23
поделиться