您好Grails社区,无论您身在何处!我面临一个很酷的问题......甚至是想法。我需要一些帮助。
我尝试做的是:
myapp.com/search/list?search=pants
我想在浏览器中显示这样的网址
myapp.com/a-b-c/aaa-bbb-ccc?search=pants
不使用urlMapping重定向,从而再次调用list方法。
当然,没有提交我的搜索表单的相同类型的URL会给出相同的裤子列表,只有我在开始时会有更多的标准(商店= [a,b,c],类别= [aaa,bbb,ccc] ]和搜索短语“裤子”)。
我希望听起来很清楚。开箱即用的想法赞赏。
PS。也许你知道Ruby,Java或PHP的一些解决方案来处理这种情况吗?
答案 0 :(得分:0)
好吧,你可以使用urlmappings。
"/$shops/$categories/$search" {
controller = "search"
action = "list"
constraints {
shops(matches:/\w-\w-\w/)
categories(matches:/\w+-\w+-\w+/)
}
}
如果我的正则表达式匹配正确,那么这个 将匹配myapp.com/a-b-c/aaa-bbb-ccc?search=pants和 将匹配myapp.com/a-b-c/aaa-bbb-ccc/pants
我认为你也可以在urlmappings中添加一些预处理,例如你可以做
"/$shops/$categories/$search" {
...
shops = shops.split('-')
categories = categories.split('-')
...
}
然而,我不是100%肯定的。