我想知道是否有人有提供最佳方式的想法
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/