GSPの外部のメッセージプロパティから値を取得するにはどうすればよいですか?たとえば、
<g:message code="some.message"/>
しかし、コントローラーでは?
コントローラまたはtaglib内では、次を使用できます。
g.message(code: 'some.message')
ただし、ドメインクラスまたはサービス内では、messageSourceを挿入し、SpingクラスAbstractMessageSourceからgetMessage()メソッドを呼び出す必要があります。このスニペットは、その方法を示しています。
import org.springframework.context.i18n.LocaleContextHolder as LCH
...
class MyServiceOrMyDomain {
def messageSource
...
messageSource.getMessage(code, msgArgs, defaultMsg, LCH.getLocale())
...
}
検証タグlibをインポートして使用し、メッセージソースを取得することもできます。
import org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib
def g = new ValidationTagLib()
g.message(error: error)