通过URL传递id grails groovy
我正在编写一个grails应用程序,其中有通过URL传递id grails groovy,grails,Grails,我正在编写一个grails应用程序,其中有区域、地区和流region包含district,因此region\u id是district表的外键。除此之外,为了只查询与该区域相关联的行,我需要能够将id传递给URL。 这是我的UrlMappings.groovy: static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constrain
区域
、地区
和流
region
包含district
,因此region\u id
是district
表的外键。除此之外,为了只查询与该区域相关联的行,我需要能够将id
传递给URL。
这是我的UrlMappings.groovy
:
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(controller:"/user")
"500"(view:'/error')
}
但是,然后我转到我创建的链接,以转发到地区
控制器(默认为列表
我看到:
localhost:8080/project/district/list
,但它没有region\u id
,所以我希望localhost:8080/project/district/list/region\u id='1'?
或localhost:8080/project/district/list/id='1'?
有人能帮我指出我的错误在哪里吗?
感谢/$controller/$action?/$id?
表示params
映射将具有属性id
,其值来自url。对于类似/project/district/list/5
的url,此映射返回5(assert params.id==5
)
您还可以使用以下url调用您的操作:/project/district/list?region_id=5
,并为参数获取5。region_id
如果希望使用不同的名称,region\u id
而不是'id',并且不希望将其作为查询参数传递,则可以创建自己的映射:
"/district/list/$region_id"(controller:"district", action: "list")
在这种情况下,此url被严格映射到控制器地区
,操作列表
和参数。对于/project/district/list/5