【问题标题】:how the redirect in grails controller worksgrails 控制器中的重定向如何工作
【发布时间】:2013-06-29 16:05:55
【问题描述】:

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

在这里查看我的代码

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

那么在createSSVInvestigation 操作中,我如何获取inquiryInstance 对象的值。

【问题讨论】:

    标签: grails-2.0 grails-controller


    【解决方案1】:
    redirect(controller:"inquiry", action:"createSSVInvestigation",params:['inquiryId':inquiryInstance.id])
    

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        使用这个

        flash.chainModel.inquiryInstance
        

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

        【讨论】:

        • 请解释您的解决方案。
        猜你喜欢
        • 1970-01-01
        • 2015-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-06
        • 2012-04-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多