我有两个域对象和一个看起来像
的命令class Vendor {
String phoneNumber
public String toString() {
"""[phoneNumber: "${phoneNumber ?: ''}"]"""
}
}
class Product {
String productNumber
Vendor vendor
public String toString() {
"""[productNumber: "${productNumber ?: ''}", vendor: "${vendor}"]"""
}
}
class SaveProductCommand {
Product product
}
我的表单看起来像:
<g:formRemote>
<input type="text" name="product.productNumber" value="12345" />
<input type="text" name="product.vendor.phoneNumber" value="18005551212" />
</g:formRemote>
我的控制器调用类似于:
def save(SaveProductCommand cmd) {
// do stuff
}
当我检查产品时,我看到类似的东西:
[productNumber: "12345", vendor: "null"]
Grails能够在多个级别上进行数据绑定吗?如果是这样,谁能看到我做错了什么?如果没有,任何人都可以提供解决方案吗?
答案 0 :(得分:0)
是的,命令对象绑定适用于任意深度嵌套路径。您的应用中可能有拼写错误或其他问题,但是活页夹确实支持您所说的内容。
请参阅https://github.com/jeffbrown/simplebinding处的示例应用。如果您在默认索引页面上提交表单,您将看到两个属性都已正确绑定。