Grails Controller Edit返回一张地图?

时间:2013-12-18 21:25:57

标签: grails grails-domain-class

当我为名为User的域类生成控制器时,我得到了编辑操作的代码:

def edit(Long id) {
    def userInstance = User.get(id)
    if (!userInstance) {
        flash.message = message(code: 'default.not.found.message', args: [message(code: 'user.label', default: 'User'), id])
        redirect(action: "list")
        return
    }

    [userInstance: userInstance]
}

有人可以解释为什么会返回[userInstance: userInstance],而不仅仅是感谢userInstance

谢谢!

1 个答案:

答案 0 :(得分:1)

控制器返回一个地图,其中包含您(可能)在视图中使用的数据。地图键是您从视图中使用此数据的名称。如果重命名地图密钥,也许会有点混乱,例如

def edit(Long id) {
    def userInstance = User.get(id)
    if (!userInstance) {
        flash.message = message(code: 'default.not.found.message', args: [message(code: 'user.label', default: 'User'), id])
        redirect(action: "list")
        return
    }

    [user: userInstance]
}

要获取视图中User的ID,请使用:

${user.id}
相关问题