3

有没有办法将模型数据传递给视图状态?考虑以下示例视图状态:

class BookController {
  def shoppingCartFlow = {
    showProducts {
      on("checkout").to "enterPersonalDetails"
      on("continueShopping").to "displayCatalogue"
    }
  }
}

如果我想将数据模型传递[products: Product.list()]给 showProducts.gsp,除了在视图状态之前使用将模型存储在流范围内的操作状态之外,还有什么方法可以做到这一点?

谢谢,唐

4

3 回答 3

5

嗯,自从我做了一个流程以来已经有一段时间了,你的例子很简单(我希望只是为了作为一个例子)。

您缺少的是流程中的初始操作。请记住,作为您的 showProducts 的“查看”流程操作只是说明您的 showProducts gsp POST 时要执行的操作。将您发送到 showProducts 的操作应该创建要在 showProducts.gsp 中使用的模型

def ShoppingCartFlow = {
   initialize {
       action {  // note this is an ACTION flow task
           // perform some code
           [ model: modelInstance ] // this model will be used in showProducts.gsp
       }
       on ("success").to "showProducts"      
       // it's the above line that sends you to showProducts.gsp
   }

   showProducts {
        // note lack of action{} means this is a VIEW flow task
        // you'll get here when you click an action button from showProducts.gsp
      on("checkout").to "enterPersonalDetails"
      on("continueShopping").to "displayCatalogue"
   }

   // etc. (you'll need an enterPersonalDetails task, 
   // displayCatalogue task, and they
   // should both be ACTION tasks)
}

说得通?

于 2009-06-18T01:10:43.377 回答
0

你可以试试这个(假设你想去结账):

showProducts {
      on("checkout"){
           // do somethings here too if you like
           // then pass your data as below:
           [products: Product.list()]
      } .to "enterPersonalDetails"
      on("continueShopping").to "displayCatalogue"
}
于 2009-06-17T18:14:00.433 回答
0

也许我不明白这个问题,但你不能

渲染(视图:“showProducts”,模型:[产品:Product.list()]

在你的控制器里面?

于 2009-06-17T04:14:25.370 回答