grails控制器中的重定向如何工作

时间:2013-06-29 16:05:56

标签: grails-2.0 grails-controller

我使用重定向将模型对象从一个方法传递给grails中的另一个方法。如何在另一个方法中获取该模型对象的值。

请在此处查看我的代码

redirect(controller:"inquiry", action:"createSSVInvestigation", model: [inquiryInstance:inquiryInstance], params:['inquiry.id':inquiryInstance.id])

因此,在动作createSSVInvestigation中,如何获取inquiryInstance对象的值。

3 个答案:

答案 0 :(得分:4)

redirect(controller:"inquiry", action:"createSSVInvestigation",params:['inquiryId':inquiryInstance.id])

在createSSVInvestigation操作中,我们通过params.inquiryId获取inquiryInstance的id。

def createSSVInvestigation(){
    def inquiryInstance= InquiryClassname.get(params.inquiryId)
}

答案 1 :(得分:2)

您可以使用参数传递所有对象/变量,并在createSSVInvestigation动作中从参数中访问它们。此外,模型不是重定向参数here的一部分。

redirect(controller:"inquiry", action:"createSSVInvestigation", params: [...]) 

答案 2 :(得分:0)

使用此

flash.chainModel.inquiryInstance

更新: 最初的问题是获得在模型中设置的inquiryInstance。在documentation中提到我们应该使用闪存。因此,这是链接控制器后访问闪存变量的一种方法。