【问题标题】:Grails: How do I forward an entire model from one controller to another?Grails:如何将整个模型从一个控制器转发到另一个控制器?
【发布时间】:2012-11-19 15:52:11
【问题描述】:

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

【问题讨论】:

    标签: grails model controller forward chain


    【解决方案1】:

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

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

    在控制器一中:

        def model = [
            firstname:           params.firstname, 
            lastname:            params.lastname
        ]
    
        forward(controller:"controllerName",action:"index", model:model)
    

    在控制器二中:

        render (view: "/page.gsp") 
    

    在 page.gsp 中

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

    就这么简单……

    【讨论】:

    • 当我们开始使用框架时,我们很快就忘记了基本的 Servlet 开发,这很有趣。
    • @Gregg 有趣,更像是吓人!
    【解决方案2】:

    如果你想传递整个对象(其中包含自己的方法),请参考我在Best way to pass objects between controller actions in grails上的回答

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多