Grails语言在URL作为子目录,如果没有参数,则映射到默认语言

时间:2015-01-26 10:11:03

标签: grails internationalization

我正在尝试在grails中的URL映射中设置语言参数。 我们的想法是,grails应用程序应该允许基于URL中嵌入的语言参数进行国际化。 示例:

/profile // Map to default /en/profile
/it/profile
/sq/profile

使用默认的URL Mapping,可以映射到每种语言

"/$lang/profile"{
..
}

如果URL中没有传递$ lang参数,我的问题是使用默认语言(en)。 (所以/ profile也可以工作)。

我也试图在grails中添加一个Filter来检查lang.params是否为null,但是没有按预期工作。

class LanguageFilters {
    def filters = {
        amendLangParameter(controller: '*', action: '*') {
            before = {
                if( params.lang == null) {
                    println "condition met"
                    redirect( controller: params.controller, action: params.action, params:[ "lang": request.locale.language.toString() ] + params )
                }
            }
        }
    }

}

filter无法解决问题,因为tomcat会抛出一个

HTTP Status 404 - /profile
type Status report
message /profile
description The requested resource is not available.

0 个答案:

没有答案