我的UrlMappings.groovy
中有以下映射:
"/$controller/$action?/$id?/$id2?/$id3?" {constraints {}}
给出请求网址xcontroller/xaction/xid1//xid3
(注意//
)
grails 2.x将生成id和id3的值,但不会生成id2。这就是我所期望的。
在grails 3.2.5中,此url仅生成id1和id2值(xid3变为id2)。看来//
被忽略了。
让其他人遇到过这个问题吗?这是一个错误或期望的变化吗?
答案 0 :(得分:1)
我认为旧行为是一个错误,新行为是首选。像//
这样的空路径段应该解决为空白,并且以下所有URL应该是等效的:
http://host/foo/bar
http://host/foo//bar
http://host/foo/./bar
RFC3986讨论了URI语法。
您可以使用像0
这样的虚拟值作为"缺少"的占位符。组件。