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

时间:2017-11-14 14:59:00

标签: grails gsp

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

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

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

1 个答案:

答案 0 :(得分:2)

我想也许你会以比实际更复杂的方式思考这个问题。

在grails中,你有layouts / main.gsp,这是你的sitemesh。

标记<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">

您需要为每个需要执行此操作的sitemesh执行此操作 - 阅读有关此属性的内容,它似乎不会为浏览器做很多事情,但可能会帮助非人类的事情,例如搜索引擎。