我有一个应用程序,用户可以通过两种方式浏览地图(如缩略图和列表)
/map/browse
/map/list
现在,我想将这些视图限制为仅显示特定用户的地图,例如通过
/user/3/browse
/user/3/list
所以我创建了映射:
"/user/$userId/browse" {
controller = "map"
action = "browse"
}
"/user/$userId/list" {
controller = "map"
action = "list"
}
现在,我可以转到/user/3/browse
,但只要我单击分页链接或更改分页过滤器,URL 就会返回/map/browse
。
另外,如果我在控制器中设置为userId
,null
我会收到错误:
错误 500:处理 GroovyPageView 时出错:执行标签时出错:无法为映射 [/user/(*)/list] 和参数 [["action":"list"、"controller":"map"、"max" 创建 URL :20,“偏移”:0,“排序”:“uploadDate”,“订单”:“desc”,“userId”:null,“totalMaps”:30]]。参数 [userId] 是必需的,但未指定!在 /views/map/browse.gsp:26
分页的工作原理如下:
<div class="paginateButtons">
<g:paginate controller="map" action="browse" total="${mapInstanceTotal}"></g:paginate>
</div>
我能做些什么或者什么是实现我想要的正确方法?
我不一定需要那个 URL 映射,我只需要一种很好的说法:“仅显示一个用户的地图”