gpt4 book ai didi

grails - 在特定语言环境中呈现单个GSP

转载 作者:行者123 更新时间:2023-12-02 14:54:31 25 4
gpt4 key购买 nike

我正在尝试在特定的语言环境中呈现GSP。

这两种解决方案都有效

使用参数

    /book/list?lang=es

在 Controller 中使用代码
    def newLocale = new Locale(lang)
RCU.getLocaleResolver(request).setLocale(request, response, newLocale)
render(view: "mail", model: [invoiceInstance: invoiceInstance])

不幸的是,这两种解决方案都将永久更改 session 对象,并随后影响所有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渲染呢?

最佳答案

我认为,如果在渲染器位置使用新的Page Rendering API,则第二次尝试可以工作。

    // Switch to OWNER language for print preview
def newLocale = new Locale(lang)
RCU.getLocaleResolver(request).setLocale(request, response, newLocale)

def contents = groovyPageRenderer.render(view:"/controller/mail", model: [invoiceInstance: invoiceInstance])

// switch back to user language
def newLocale2 = new Locale(user.language)
RCU.getLocaleResolver(request).setLocale(request, response, newLocale2)

render contents

关于grails - 在特定语言环境中呈现单个GSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com