Grails:使用XML数据绑定保存嵌套对象
发布时间:2020-12-16 22:43:12 所属栏目:百科 来源:网络整理
导读:我在Grails中创建一个REST服务来接受来自 python脚本的数据. python脚本生成对象图的 XML表示,并将其提交给控制器.事情对我的平面对象很有用,但我无法弄清楚如何处理域对象包含一组子对象的情况.出于无关的原因,我的DOA层是纯 Java JPA. 例如,我的域类(离开g
我在Grails中创建一个REST服务来接受来自
python脚本的数据.
python脚本生成对象图的
XML表示,并将其提交给控制器.事情对我的平面对象很有用,但我无法弄清楚如何处理域对象包含一组子对象的情况.出于无关的原因,我的DOA层是纯
Java JPA.
例如,我的域类(离开getter / setters / etc): class Schedule { String name; @OneToMany; HashSet<Step> steps; } class Step { String name; @ManyToOne; Schedule schedule; } 我的python脚本生成如下XML: <schedule> <name>Foo</name> <steps> <step> <name>Bar</name> </step> <step> <name>Blatz</name> </step> </steps> </schedule> 在我的控制器中我有这个: def save = { def schedInstance = new Schedule(params['schedule']) ... } steps属性永远不会被填充.如果我将params转储到日志中,则步骤数据全部被卡在一起(在上面的示例中,它将产生步骤:“BarBlatz” 我必须做一些非常错误的事情.我想这是一项常见的任务.我能找到的关于嵌套对象的一切都与命令对象有关.如果可以避免,我不想在命令对象中复制我的域对象代码. 解决方法def save = { def schedInstance = new Schedule(params['schedule']) params['schedule?.step'].each{stepXml-> schedInstance.addTo(new step(stepXml) } } 未经测试,但我之前做过类似的事情.一旦我有机会测试它,我会根据需要编辑它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |