Grails:如何在 gsp 或使用 js 中动态设置语言

Grails: how to set language dynamically in gsp or using js

我想动态设置 gsp 页面的语言值。目前我只是使用基本的硬编码值来做这件事。我确实找到了描述 here 的 JS Onload 事件。

但我想找到 GSP 驱动的东西。有什么办法吗?

我当前的代码看起来像 <html lang="en">

我想也许您正在以比实际更复杂的方式来思考这个问题。

在 grails 中你有你的 layouts/main.gsp,这是你的站点网。

标签<html lang='en'声明在这个

的最顶部

如果您只是编辑此页面并添加以下内容:

<g:set var="locale" value="${session?.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE'?:java.util.Locale.UK}"/>
<html lang="${locale?.language?:'en'}" class="no-js">

然后当我访问我的网站时: localhost:8080/?lang=ja_JP 查看源代码显示: <html lang="ja" class="no-js">

你需要为每个需要这样做的站点网做这件事 - 阅读一下这个 属性 它似乎对浏览器没有多大作用,但可能有助于非人类的东西,比如搜索引擎.