【问题标题】:Can i call an controller action with POST-params from another controller as method?我可以使用来自另一个控制器的 POST 参数作为方法调用控制器操作吗?
【发布时间】:2012-04-16 18:53:18
【问题描述】:

我有一个控制器和一些动作。我是否可以将这些操作作为来自另一个控制器的方法调用,就好像我会使用 post 参数调用此操作一样?

我正在使用 grails paypal 插件,它有一个名为“购买”的操作。我不希望用户将产品数据和信息发布到购买操作。我已经知道用户想要购买的东西,我想在我的控制器中调用购买操作,因为我会调用一个普通方法,然后我想将用户重定向到贝宝(到 url,购买操作返回)。

我正在使用 grails 2.0 和最新的 paypal 插件。

【问题讨论】:

    标签: java grails groovy grails-2.0 grails-controller


    【解决方案1】:

    不,你不能。您可以从动作 A 到链到动作 B 进行区分。 但这不是将其作为方法调用,这会将调用重定向到操作 B,您将不再处于操作 A 的范围内。

    也许您可以在service 中实施您的操作。然后你可以从你的控制器的动作中随意调用它

    【讨论】:

      【解决方案2】:

      据我所知,您可以将您的操作重定向到属于其他控制器的另一个操作。

      你可以使用重定向方法。

      "redirect(controller: 'abc', action: 'actionName', params: 'params')"
      

      【讨论】:

      • 您可以在再次处理后重定向到该操作,您可以从该操作重定向。
      【解决方案3】:

      您可能想使用chain(...)

      链:

      使用闪存存储在 HTTP 之后隐式保留模型 从一个动作重定向到另一个动作。

      【讨论】:

      • 如果不需要保留模型,我会使用 forward 而不是 chain,因为它会在内部重定向而不是进行另一个 HTTP 往返。
      • 是的,下一步是前进:-)
      • 所以我可以做这样的事情吗? PayPalController.buy(params) ?
      猜你喜欢
      • 2016-07-06
      • 1970-01-01
      • 2017-09-30
      • 2015-09-21
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      相关资源
      最近更新 更多