Grails:动态调用另一个操作

Grails:动态调用另一个操作,grails,grails-controller,Grails,Grails Controller,是否可以使用作为参数传递的控制器操作的名称调用另一个控制器操作。大概是这样的: 视图: 您可以通过使用forward或redirect(这在您的案例中是合适的)来实现这一点 比如 redirect(controller:onCompleteController, action: onCompleteAction, model:[]) forward(controller:onCompleteController, action: onCompleteAction, params:[]) 区别

是否可以使用作为参数传递的控制器操作的名称调用另一个控制器操作。大概是这样的:

视图:


您可以通过使用forward或redirect(这在您的案例中是合适的)来实现这一点

比如

redirect(controller:onCompleteController, action: onCompleteAction, model:[])

forward(controller:onCompleteController, action: onCompleteAction, params:[])

区别在于
重定向
向用户代理返回3xx响应,用户代理必须向新操作发出另一个请求,而
转发
则重定向服务器端,并且不更改用户代理的URL。
def list = {
   ... //Do something like save book

   **execute onCompleteController/onCompleteAction**

   return render(text: [success:true] as JSON))

}
redirect(controller:onCompleteController, action: onCompleteAction, model:[])

forward(controller:onCompleteController, action: onCompleteAction, params:[])