0

如果我们键入以下内容,Web 应用程序的语言会正确更改:

http://localhost:8080/yourCoolWebApp/behappy/list?lang=en
http://localhost:8080/yourCoolWebApp/smile/list?lang=es

但是,如果我们键入一个没有控制器的 uri,则显示的语言是默认语言。这是 index.gsp 的情况。如果我们键入以下代码,显示的语言始终是默认语言:

http://localhost:8080/?lang=en
http://localhost:8080/?lang=es

在这个标记为不会修复的旧错误报告中,有一个解决方案。我试图实现它。我更改了以下行UrlMappings.groovy

"/"(view:"/index")

经过:

"/"(view:"/index", controller:"foo")

但是,在grails clean之后,index.gsp始终保持默认语言。

我还有另一个没有控制器的视图,所以我也有以下代码行UrlMappings.groovy

name contact: "/contact"(view:"contact")

我改变了它:

name contact: "/contact"(view:"contact", controller:"foo")

我得到了一个:The requested resource is not available (/webAlojamientoUCA/WEB-INF/grails-app/views/foo/contacto.jsp)

我正在使用 Grails 2.2.4。

4

1 回答 1

2

Grails 的 i18n 基础架构依赖于通过控制器层的逻辑

是的,您需要创建/拥有控制器!

就像是

网址映射

"/"(controller: 'index')

和控制器

class IndexController {

    def index() {
    }
}

并查看 ${appName}/grails-app/views/index/index.gsp

于 2013-09-16T05:56:41.510 回答