grails - 在 Controller 之外使用 bindData 方法

标签 grails

我想知道是否有人有提供最佳方式的想法
bindData() 在我的 grails Controller 之外的功能。在我目前
项目我创建了几个 groovy 类来模拟返回的对象
一个 API。在这些类中,我有一个解析 xml 并返回的静态方法
类的对象列表。我想跳过所有类型转换
通过在这些类中使用 bindData 方法来胡说八道。任何建议
如何做到这一点将不胜感激。

最佳答案

我正在寻找类似的解决方案,在服务类中使用 bindData。我在 JT's blog 中找到了解决方案.解决方案基本上是导入:

import org.codehaus.groovy.grails.web.metaclass.BindDynamicMethod

然后将其添加到您的代码中:
def foo = new Foo()
BindDynamicMethod bind = new BindDynamicMethod()
def args =  [ foo, params, [exclude:['name', 'mail']] ] // for example
bind.invoke( foo, 'bind', (Object[])args)

由于 Groovy/Java 兼容性,(Object[]) 类型转换是必需的。 (Groovy 将“args”对象视为 ArrayList,而不是对象数组。)

关于grails - 在 Controller 之外使用 bindData 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1943281/

相关文章:

angularjs - 如何从 Grails 插件提供的 JS 文件中指向 AngularJS 模板?

grails - withForm没有使用Grails 2.2.4将模型数据传递给gsp

grails - eventConfigureTomcat对Config.groovy的访问

csv - 从Grails应用程序的 Controller 访问本地驱动器中的数据

grails - 使用Netbeans和Grails的未解决依赖关系

windows - 如何调试无响应的Grails应用程序?

unit-testing - 服务测试中第二次使用 GrailsApplication Mock 失败

grails - 如何自定义Grails Spring Security Core插件中的凭据检查?

java - 使用 Maven\issues with Nexus 调试 Grails 命令 "refresh-dependencies"

java - CodeNarc 的静态代码分析无法找到正确的类依赖关系