精通Grails: Grails 事件模型 - 编程入门网
ripts/Events.groovy 中创建相应的 ******,并高度自定义构建环境。
抛出自定义事件 显然,现在已经了解相关的原理,您可以随意添加自己的事件了。如果确实需要自定义 $GRAILS_HOME/scripts 中的脚本(我们随后将进行此操作以抛出自定义事件),我建议将它们复制到项 目内的脚本目录中。这意味着自定义脚本会和其他内容一起签入到源控件中。Grails 询问运行哪个版本 的脚本 — $GRAILS_HOME 或本地脚本目录中的脚本。 将 $GRAILS_HOME/scripts/Clean.groovy 复制到本地脚本目录,并在 CleanEnd 事件后添加以下事件 :
第一个参数是事件的名称,第二个参数是要返回的项目列表。在本例中,返回一个当前日期戳和一条 自定义消息。 将清单 8 中的闭包添加到 scripts/Events.groovy: 清单 8. 捕获自定义事件
输入 grails clean 并选择本地脚本版本后,应该看到如下内容:
。 精通Grails: Grails 事件模型(4)时间:2011-07-25 IBM Scott Davis启动 除了构建事件,还可以引入应用程序事件。在每次启动和停止 Grails 时会运行 grails- app/conf/BootStrap.groovy 文件。在文本编辑器中打开 BootStrap.groovy。init 闭包在启动时调用。 destroy 闭包在应用程序关闭时调用。 首先,向闭包添加一些简单文本,如清单 9 所示: 清单 9. 以 BootStrap.groovy 开始
输入 grails run-app 启动应用程序。应该会程序末尾附近看到 ### Starting Up 消息。 现 在按 CTRL+C。看到 ### Shutting Down 消息了吗?我没有看到。问题在于 CTRL+C 会突然停止服务器, 而不调用 destroy 闭包。Rest 确保在应用服务器关闭时会调用此闭包。但无需输入 grails war 并在 Tomcat 或 IBM®WebSphere® 中加载 WAR 来查看 destroy 事件。 要查看 init 和 destroy 事件触发,输入 grails interactive 以交互模式启动 Grails。现在输入 run-app 启动应用程 序,输入 exit 关闭服务器。以交互模式运行会大大加快开发过程,因为 JVM 一直在运行并随时可用。 其中一个优点是,与使用 CTRL+C 强硬方法相比,应用程序关闭得更恰当。 在启动期间向数据库 添加记录 使用 BootStrap.groovy 脚本除了提供简单的控制台输出,还能做什么呢?通常,人们 使用这些挂钩将记录插入数据库中。 首先,向先前创建的 Hotel 类中添加一个名称字段,如清单 10 所示: 清单 10. 向 Hotel 类添加一个字段
现在构建一个 HotelController,如清单 11 所示: 清单 11. 创建 一个 Hotel Controller
注意:如果像 “Grails 与遗留数据库” 中讨论的那样禁用 grails- app/conf/DataSource.groovy 中的 dbCreate 变量,本例则应该重新添加它并设置为 update。当然,还 有另一种选择是通过手动方式让 Hotel 表与 Hotel 类的更改保持一致。 现在将清单 12 中的代 码添加到 BootStrap.groovy: 清单 12. 保存和删除 BootStrap.groovy 中的记录
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |