如何在不在 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 中生成视图的情况下调用动作 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有触发器和手动插入的情况下在 mysql 中生成/自动增量 guid?
如何在没有苹果开发者程序和没有连接设备的情况下在 Xcode 7.2 中生成 IPA 文件?