我正在尝试在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.