我已经使这个控制器,应该用来发送电子邮件。我需要访问i18n才能发送本地化的电子邮件。Grails:如何从控制器或服务访问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...
}
}
还有就是国际化文件,然后(位于国际化文件夹):
file name: messages.properties
content: somemessagekey = Blabla {0} - blablabla
我跑在此之后,它会抛出(在集成测试):
groovy.lang.MissingPropertyException: No such property: messageSource for class: org.codehaus.groovy.grails.support.MockApplicationContext
我出于想法如何处理控制器中的本地化(我也尝试过在服务中使用它,但这更加复杂)。
并不需要调用g.message()? – 2012-01-01 06:13:50
我为什么要这样做?我找不到有关“g”的信息。 – 2012-01-01 17:15:30