`
FireFlyWithCat
  • 浏览: 88460 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在grails框架中导入groovy脚本方法(四)

阅读更多
前面都写了三个方法了,都不是能用的方法。这是最后的方法了……
以上三种方法都不支持导入功能,例如:在你的外部script中加入:
import MyProject.domain.User;
这时你就可以把user作为一个对象 开始应用了!
这是我的script:
def query1={
String dd=User.findByName("license")?.value //在这里我使用了grails里domain的方法:
 println dd
 } 
def query2={
  println "this is query3"
  query1.run()    //这是闭包之间的调用;
 }

在主程序里面这样写:

File scriptFile = new File("controllers\\${scriptName}")
      Script script = new GroovyClassLoader().parseClass(scriptFile).newInstance() 
       script.binding = new Binding(["service2": new PluginService(), "params": params])                         
       return script.run()

oK就可以了
当然这也有很多的不足,这里面只能支持闭包,无法调用方法,如果我在运行script时,不是想运行这个script而是运行它里面的一个方法,怎么办?
我是这样解决的:
在主程序中导入一个参数:methodName,这是你所应用script中方法的名称。
File scriptFile = new File("controllers\\${scriptName}")
      Script script = new GroovyClassLoader().parseClass(scriptFile).newInstance() 
       script.binding = new Binding(["service2": new PluginService(), "params":params])
if(methodName){   //如果调用脚本时有method传入,则……
return script.invokeMethod(methodName,binding)  
}else{
return script.run()
}                       

这个方法已经测试过了,可以应用啊!
…………
0
0
分享到:
评论
1 楼 agile_boy 2012-06-25  
不建议在Grails这样使用Groovy

相关推荐

    groovy脚本实现对数据库的增删改查

    在实际项目中,Groovy还常与其他工具结合,如Grails(一个基于Groovy的Web框架),或者Gradle(构建自动化工具)。这些工具也支持Groovy脚本,使数据库操作更加灵活和高效。总的来说,掌握Groovy进行数据库操作是...

    Java中使用Groovy的三种方式

    无论是作为嵌入式脚本快速实现功能,还是作为类库扩展Java项目,或者是在Grails或Spring Boot框架中使用,Groovy都能为Java开发者带来诸多便利。掌握Groovy的这些使用方式,能帮助开发者更好地适应现代Java开发环境...

    Grails开发的通讯录

    在Grails框架中,通讯录系统的构建主要涉及以下几个核心知识点: 1. **Domain Classes**:在Grails中,领域模型是业务逻辑的核心,代表了应用程序中的实体。在通讯录系统中,我们可以定义一个`Contact`领域类,包含...

    grails增删改查(初学者必备)

    - 在`grails-app/conf/UrlMappings.groovy`文件中定义URL到控制器动作的映射,方便访问和操作。 8. **运行应用** - 运行`grails run-app`命令启动Grails应用。应用将监听默认的8080端口,你可以通过浏览器访问`...

    某些必要的groovy

    10. **GroovyShell和GroovyClassLoader**:这两个类允许在运行时动态加载和执行Groovy脚本,是实现动态脚本和自定义行为的关键。 在“dynamicscript”这个文件名中,我们可以推测这可能是关于动态脚本的Groovy实现...

    groovy包及相关学习资料

    - **Grails框架**:Groovy的一个主要应用是构建Web应用程序,通过Grails框架,开发者可以快速开发出基于Spring Boot的应用。 - **Gradle构建工具**:Gradle,一个流行的构建自动化工具,使用Groovy作为其DSL(领域...

    groovy学习

    由于Groovy代码可以无缝调用Java类库,开发者可以在已有的Java项目中轻松引入Groovy脚本,提高生产力。此外,Groovy代码可以被编译为与Java字节码兼容的类,这意味着Groovy程序可以在任何支持Java的环境中运行。 在...

    Groovy Grail的eclipse插件

    总的来说,Groovy Grails Eclipse插件是开发Groovy和Grails应用必不可少的工具,它通过集成开发环境的强大功能,使得开发者能够更加高效、便捷地进行开发工作,同时享受到Groovy语言的灵活性和Grails框架的生产力...

    groovy plugin for eclipse 4.6(neon)

    安装Groovy插件后,Eclipse Neon将成为一个强大的Groovy开发环境,适用于开发基于Groovy的应用程序,包括Grails web应用、Spring Boot应用或者作为持续集成服务器Jenkins的脚本语言。通过这个插件,Java开发者可以...

    Groovy_in_Action

    - GroovyShell允许在命令行环境中即时执行Groovy代码,而GroovyConsole提供了一个交互式的IDE,便于学习和调试Groovy。 通过阅读《Groovy in Action》这本书,你可以深入了解这些概念,并学习如何在实际项目中应用...

    grails 1.0 英文操作手册

    **IDE集成**:为了提高开发效率,可以将Grails项目导入到喜欢的IDE中,如IntelliJ IDEA或Eclipse,利用其丰富的功能进行代码编写和调试。 **约定优于配置**:Grails遵循“约定优于配置”的原则,这意味着开发者在...

    The Grails Framework - Reference Documentation

    ### Grails框架参考文档知识点概览 #### 一、引言 Grails是一个基于Groovy语言的开源Web应用开发框架,它充分利用了敏捷开发的...以上内容涵盖了Grails框架的基本使用方法和高级特性,为开发者提供了全面的技术支持。

    groovySamples:Groovy样本

    7. **GroovyShell** 和 **GroovyScriptEngine**:这两个工具有助于在运行时执行Groovy脚本,常用于快速原型开发或脚本测试。 8. **AST转换**:Groovy的抽象语法树(AST)转换允许开发者在编译阶段自定义语法,从而...

    awesome-groovy:精妙的groovy库,框架和资源的精选列表

    在标题和描述中提到的"awesome-groovy"是一个精选列表,收集了各种高质量的Groovy库、框架和资源,旨在帮助开发者更高效地利用Groovy进行开发工作。 这个列表通常包括以下几类内容: 1. **库**:这些是预编译的...

    GORM的独立启动(Standalone)

    在IT行业中,GORM是一个非常重要的工具,尤其在Grails框架中,它是处理数据库操作的主要接口。本篇文章将深入探讨GORM的独立启动(Standalone)功能,这使得开发者可以在不依赖整个Grails应用的情况下使用GORM的强大...

    GrailsProjectAuxA.zip

    标题“GrailsProjectAuxA.zip”表明这可能是一个与Grails框架相关的项目辅助资源压缩包。Grails是一种基于Groovy语言的开源Web应用框架,它简化了Java平台上的开发流程,提供了MVC(模型-视图-控制器)架构模式以及...

    groovy代码-这是我的一个测试代码

    在“groovy代码-这是我的一个测试代码”这个标题中,我们可以推测这是一个关于Groovy编程的实践项目,作者可能在尝试编写和测试Groovy脚本。 在描述中,“groovy代码-这是我的一个测试代码”同样强调了这是用Groovy...

    DogRobot_copy:DogRobot_copy DogRobot的副本

    6. ** Grape**:Grape是Groovy自带的依赖管理系统,可以方便地在脚本中导入和管理外部库。 7. **AST(抽象语法树)转换**:Groovy允许在编译时通过AST转换来自定义语法,从而实现更高级的功能。 8. **GroovyShell*...

    Minutrade-Test

    **Minutrade-Test** 是一个基于Grails框架的项目,用于进行测试目的。Grails是一种基于Groovy语言的开源Web应用框架,它利用了敏捷开发的理念,旨在提高开发效率和简化开发流程。本项目可能包含了JavaScript技术,这...

Global site tag (gtag.js) - Google Analytics