技术开发 频道

精通 Grails: Grails 事件模型

  抛出自定义事件

  显然,现在已经了解相关的原理,您可以随意添加自己的事件了。如果确实需要自定义 $GRAILS_HOME/scripts 中的脚本(我们随后将进行此操作以抛出自定义事件),我建议将它们复制到项目内的脚本目录中。这意味着自定义脚本会和其他内容一起签入到源控件中。Grails 询问运行哪个版本的脚本 — $GRAILS_HOME 或本地脚本目录中的脚本。

  将 $GRAILS_HOME/scripts/Clean.groovy 复制到本地脚本目录,并在 CleanEnd 事件后添加以下事件:

event("TestEvent", [new Date(), "Some Custom Value"])

  第一个参数是事件的名称,第二个参数是要返回的项目列表。在本例中,返回一个当前日期戳和一条自定义消息。

  将清单 8 中的闭包添加到 scripts/Events.groovy:

  清单 8. 捕获自定义事件

eventTestEvent = {timestamp, msg ->
  println
"### ${msg} occurred at ${timestamp}"  
}

  输入 grails clean 并选择本地脚本版本后,应该看到如下内容:

### Some Custom Value occurred at Wed Jul 09 08:27:04 MDT 2008
0
相关文章