grails国际化是否在index.gsp中有效?

时间:2013-09-15 23:27:24

标签: grails internationalization

如果我们输入以下内容,则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

In this old bug report,标记为无法修复,有一个解决方案。我试图实现它。我更改了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。

1 个答案:

答案 0 :(得分:2)

Grails' i18n infrastructure relies on the logic passing through the controller layer

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

这样的东西

UrlMappings

"/"(controller: 'index')

和控制器

class IndexController {

    def index() {
    }
}

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