我正在使用Grails 1.3.7,而我正试图弄清楚如何在我的URL路径中附加状态(区域)缩写(NM,AZ,UT)。所以它看起来像这样:
localhost/NM/action/
或
localhost/UT/action2/3/
必须对网站上的所有网址进行此操作。我也不想更改URLMappings.groovy文件,过滤器会帮忙吗?
我创建了这个过滤器定义:
def filters = {
...
regionAppender(uri:'/**') {
before = {
if (request.region) {
if (!request.forwardURI.contains(request.region)) {
String[] split = s.split("/");
String redirectUri = split[0] + "/" + request.region
if (split.length > 1) {
for (int i = 1; i < split.length; i++){
redirectUri = redirectUri + "/" + split[i]
}
}
redirect(uri: redirectUri)
return false
}
return true
}
return true
}
}
}
但它似乎并没有起作用。有没有办法做到这一点,或者我是否更改了所有的URLMappings?
答案 0 :(得分:0)
我没有对此进行测试,但可能与您的请求声明有关...请尝试使用params.region
def filters = {
....
before = {
if(params?.id) {