我想知道是否有人想知道在我的grails控制器之外提供bindData()的功能的最佳方法.在我当前的项目中,我创建了几个groovy类来模拟api返回的对象.在这些类中,我有一个静态方法,它解析xml并返回该类对象的List.我想通过在这些类中使用bindData方法跳过所有类型转换废话.任何有关如何做到这一点的建议将不胜感激.
我正在寻找一个类似的解决方案,在服务类中使用bindData.我在JT的博客中找到了一个解决方案.解决方案基本上是导入:
import org.codehaus.groovy.grails.web.metaclass.BindDynamicMethod
Run Code Online (Sandbox Code Playgroud)
然后将其添加到您的代码中:
def foo = new Foo()
BindDynamicMethod bind = new BindDynamicMethod()
def args = [ foo, params, [exclude:['name', 'mail']] ] // for example
bind.invoke( foo, 'bind', (Object[])args)
Run Code Online (Sandbox Code Playgroud)
(Object [])强制转换对于Groovy/Java兼容性是必要的.(Groovy将'args'对象视为ArrayList,而不是Object数组.)
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |