gpt4 book ai didi

data-binding - Grails 数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 14:13:59 25 4
gpt4 key购买 nike

我需要将请求参数绑定(bind)到以下 Java 类的实例(省略 getter 和 setter):

public class ShippingHouse {

private String name;
private String description;
private List<ShippingRule> shippingRules = new ArrayList<ShippingRule>();
}

public class ShippingRule {

private ShippingHouse shippingHouse;
private String name
}

请注意, ShippingHouse 之间存在 1:N 的关系。和 ShippingRule , 但每个 ShippingRule还引用了 ShippingHouse那个拥有它。

如果这些是 Grails 命令/域类,我会将它们与请求参数绑定(bind)
name=foo&description=bar&shippingRules[0].name=sr0&shippingRules[1].name=sr1

但似乎这不会将引用设置为拥有 ShippingHouse在每个 ShippingRule .有没有办法可以自动绑定(bind)它,或者我必须自己编写代码?

最佳答案

大学教师,

您需要使用 BindUsing 或其他方法自己编写代码。活页夹不(也不应该)假设任何关于从 parent 到 child 的反向引用。如果这些是 GORM 实体并且关系是明确的,那就不同了,但是在您的情况下,绑定(bind)器不应假定 ShippingRule 类中的 shippingHouse 属性与 ShippingHouse 类中的 shippingRules 属性有任何关系。

另请注意,lucke84 表示您的“私有(private)”是隐含的。如果要删除它们,请确保您了解这意味着什么。如果您删除它们,编译器将为这些属性生成公共(public) getter 和 setter 方法,这可能是您想要的,也可能不是。

关于data-binding - Grails 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com