代码之家  ›  专栏  ›  技术社区  ›  armandino

Grails-从控制器获取消息值

  •  29
  • armandino  · 技术社区  · 15 年前

    如何从GSPs之外的消息属性获取值?例如,相当于

    <g:message code="some.message"/>
    

    2 回复  |  直到 15 年前
        1
  •  47
  •   fabien7474 Jan Tchärmän    15 年前

    在控制器或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())
      ...
    }
    
        2
  •  11
  •   Blacktiger    15 年前

    import org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib
    def g = new ValidationTagLib()
    g.message(error: error)