grails - 通过URL传递id grails groovy

标签 grails

我正在编写一个grails应用程序,其中有regiondistrictstreamsregion包含district,因此region_idforeign key表的district。在其他查询中仅与region关联的行中,我需要能够将id传递给URL。
这是我的UrlMappings.groovy:

static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(controller:"/user")
        "500"(view:'/error')
    }

但是,然后转到创建的链接以转发到district Controller (我看到的默认值为list:localhost:8080/project/district/list,但是它没有region_id,所以我期待localhost:8080/project/district/list/region_id='1'?localhost:8080/project/district/list/id='1'?有人可以帮我指出我的错误在哪里吗?
谢谢

最佳答案

/$controller/$action?/$id?表示params映射将具有id属性,其值来自url。对于类似于/project/district/list/5的网址,此映射返回5(assert params.id == 5)。

您也可以使用以下网址调用操作:/project/district/list?region_id=5,并为params.region_id获取5。

如果您想使用其他名称region_id代替ʻid,并且不想将其作为查询参数传递,则可以进行自己的映射:

"/district/list/$region_id"(controller:"district", action: "list")

在这种情况下,此网址严格映射到 Controller district,操作listparams.region_id将为/project/district/list/5返回5

关于grails - 通过URL传递id grails groovy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11374993/

相关文章:

spring - 如何在 grails 服务中使用 DEPENDENCY INJECTION 有选择地设置属性以进行单元测试

angularjs - POST请求有效(状态200),但满足失败条件

Grails 参数长数组

debugging - 使用IntelliJ IDEA 12.1.4调试grails应用程序

grails - ggts,新的 groovy 编译器版本在为工作区安装后不可用于项目

hibernate - db-reverse-engineer插件不会生成域文件

grails - Grails插件的推荐范围

hibernate - 使用动态查找器时,是否可以忽略hasMany关系?

hibernate - 在 grails 中获取分离的域实体

Grails 为所有人免费提供 URL