【发布时间】:2023-03-23 07:13:01
【问题描述】:
我正在尝试在特定语言环境中呈现 GSP。
这两种解决方案都有效
使用参数
/book/list?lang=es
在控制器中使用代码
def newLocale = new Locale(lang)
RCU.getLocaleResolver(request).setLocale(request, response, newLocale)
render(view: "mail", model: [invoiceInstance: invoiceInstance])
不幸的是,这两种解决方案都会永久更改会话对象,并在之后影响所有 GSP。
如果我在 Render 语句之后尝试更改 LocaleResolver,它不起作用。
// Switch to OWNER language for print preview
def newLocale = new Locale(lang)
RCU.getLocaleResolver(request).setLocale(request, response, newLocale)
render(view: "mail", model: [invoiceInstance: invoiceInstance])
// switch back to user language
def newLocale2 = new Locale(user.language)
RCU.getLocaleResolver(request).setLocale(request, response, newLocale2)
那么如何强制在特定语言环境中进行 SINGLE 渲染?
【问题讨论】:
-
您是否尝试更改语言环境以在
中使用? -
没有。我正在尝试在控制器中呈现完整的 GSP。
标签: grails internationalization locale gsp