当前位置:  开发笔记 > 前端 > 正文

以Grails Runtime Environment交互运行代码

如何解决《以GrailsRuntimeEnvironment交互运行代码》经验,为你挑选了2个好方法。

我正在编写一些代码来将一些引导数据加载到我的Grails应用程序中.有些东西不能用于我正在尝试创建的类之一,因此能够以交互方式针对grails运行时环境运行该代码非常方便,我想知道是否有办法做到这一点.

我知道Grails控制台,但似乎没有加载我想要与之交互的自举数据.我也在调试时看到了这个线程 - 是否有任何IDE允许交互式shell进入运行时?似乎Debug Plugin计划提供这个,但还没有.

我发现这个脚本允许你从Grails上下文执行一个脚本,但我想要一些更具互动性的东西.

我在Grails 1.1上.



1> codeLes..:

使用Grails控制台手动运行引导类,然后运行相关代码.

new BootStrap().init()



2> Jean Barmash..:

终于找到了我需要做的事情!

如果添加到引导程序中,则使用以下代码:

 def init = {servletContext ->
    if (GrailsUtil.environment == GrailsApplication.ENV_DEVELOPMENT) {
      def appCtx = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext)
      def grailsApp = appCtx.getBean(GrailsApplication.APPLICATION_ID);
      Binding b = new Binding();
      b.setVariable("ctx", appCtx);
      def console = new Console(grailsApp.classLoader, b);
      console.run()
    }   }

当应用程序启动时,它还将打开一个Groovy控制台,它允许您以交互方式与域类进行交互.因此,例如,您可以添加新对象,然后在Web应用程序中查看它.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有