11

如何在不使用重定向的情况下将整个模型从一个控制器传递到另一个控制器?

4

2 回答 2

11

我为此挣扎了很长时间,所以决定回答我自己的问题...

用这种方法是很有可能的forward。与该chain方法不同,文档没有提及该model属性,但 [至少在 grails 2.1.1 中] 它实际上是受支持的。

在控制器一中:

    def model = [
        firstname:           params.firstname, 
        lastname:            params.lastname
    ]

    forward(controller:"controllerName",action:"index", model:model)

在控制器二中:

    render (view: "/page.gsp") 

在页面.gsp

    Welcome ${firstname} ${lastname},
    ...

就那么简单...

于 2012-11-19T15:52:11.387 回答
1

如果您想传递整个对象(其中包含它们自己的方法),请参阅我关于在 grails 中的控制器操作之间传递对象的最佳方式的答案

关键是1)在源动作中使用“链动作”,2)在目标动作中使用chainModel

于 2016-09-22T14:53:27.020 回答