Grail后台获取语言信息的方法

Rails切换语言是通过在请求后面加?lang=en实现的,切换语言后,后面的请求就不需要再考虑语言的问题,但是如果后台代码中也需要知道语言信息该怎么办那?
分析源码发现,其实它是采用Spring的语言切换机制,在Grails里实现了Spring的LocaleChangeInterceptor接口,拦截到语言变化后调用RequestContextUtils.getLocaleResolver(request)
接着执行
localeResolver.setLocale(request, response, localeEditor.value)

看到这里后面的事情就一目了然了
只要在需要获取语言信息的地方调用
LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request)
def language = localeResolver.resolveLocale(request)
就得到了语言信息

你可能感兴趣的:(grails,groovy)