【问题标题】:Grails: Dynamically call another actionGrails:动态调用另一个动作
【发布时间】:2012-02-01 00:17:18
【问题描述】:

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

查看:

<g:createLink controller="book" action="list"
params="[id: '1', onCompleteController='nextCon', onCompleteAction='nextAct']"/>

控制器(书):

def list = {
   ... //Do something like save book

   **execute onCompleteController/onCompleteAction**

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

}

【问题讨论】:

    标签: grails grails-controller


    【解决方案1】:

    您可以通过使用转发或重定向来做到这一点(适合您的情况)。

    类似的东西

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

    【讨论】:

    • 不同之处在于redirect 向用户代理返回一个 3xx 响应,该用户代理必须向新操作 VS 发出另一个请求。 forward 执行重定向服务器端并且不更改用户代理的 URL。
    猜你喜欢
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2011-05-26
    • 2013-09-15
    相关资源
    最近更新 更多