如何在不在 grails 中生成视图的情况下调用动作 [关闭]

Posted

技术标签:

【中文标题】如何在不在 grails 中生成视图的情况下调用动作 [关闭]【英文标题】:How to call an action without generating a view in grails [closed] 【发布时间】:2012-04-15 02:37:09 【问题描述】:

如何在没有 grails 尝试生成视图的情况下调用我的一个控制器类中的方法?

【问题讨论】:

你从哪里打电话,你想做什么 控制器中的动作总是需要向用户发送一些东西。但它不一定是 GSP 页面或 html,您可以自己构建任何类型的响应。正如 nate 建议的那样,我们需要知道您想要实现什么才能帮助您找到解决方案。 这个问题完全有效。这与 LinkedIn 对 Scala 所做的事情和撰写回复的脉络一致:engineering.linkedin.com/play/… 【参考方案1】:

您可以redirect 到另一个控制器操作。

class PuppyController 

   def woof() 
     redirect(action:'bark')
   

   def bark()
     response.write "Moo"
   


在某些时候,您应该写入响应或重定向到与视图对应的方法/闭包,以便用户可以接收输出。

如果您尝试调用的方法在另一个控制器上,则您可能做错了。

如果,例如,我有一个上传文件的控制器方法,以及另一种方法为该文件创建文件名作为我制定的一些约定的组合(比如时间戳+“漂亮文件”+用户名)另一个控制器,您应该将该控制器方法提升为 Service 并将其注入两个控制器。

【讨论】:

【参考方案2】:
class FooController 

  def fooAction() 
    render("Successful call to fooAction")
  


【讨论】:

【参考方案3】:

基本上你可以创建一个控制器实例(通过'new'关键字)然后调用感兴趣的动作。 请提供有关您想做什么的更多详细信息,以便我可以给出更好的答案...

【讨论】:

以上是关于如何在不在 grails 中生成视图的情况下调用动作 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

您如何管理在 R 中生成大数据表? (不在大桌子上阅读)

如何在没有触发器和手动插入的情况下在 mysql 中生成/自动增量 guid?

如何在没有苹果开发者程序和没有连接设备的情况下在 Xcode 7.2 中生成 IPA 文件?

如何在不将单独的帧图像写入磁盘的情况下从 C++ 程序中生成的多个图像编码视频?

Grails:调试脚手架模板

在 MVC 中生成没有控制器的视图?