gpt4 book ai didi

data-binding - 数据绑定(bind)多端关联

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

假设我想将 HTTP 参数数据绑定(bind)到

class Continent {
Integer id
String name
Country country
}
Country类看起来像:
class Country {
Integer id
String name
Currency currency
// other properties
}

如果我要绑定(bind) Continent.countryCountry 的实例已经存在并且可以使用以下方法检索:
interface CountryService {
Country get(Integer countryId)
}

一个简单的方法是定义一个 PropertyEditor可以将国家的ID转换为对应的 Country例如,例如
public class ProductTypeEditor extends PropertyEditorSupport {

CountryService countryService // set this via dependency injection

void setAsText(String paramValue) {
if (paramValue)
value = countryService.get(paramValue.toInteger())
}

public String getAsText() {
value?.id.toString()
}
}

相反,如果我想数据绑定(bind)一个实例
class Continent {
Integer id
String name
Collection<Country> countries
}

国家的 ID 在 HTTP(数组参数)中发送。有没有简单的方法绑定(bind) Collection<Country> ,例如通过定义另一个 PropertyEditor ?

最佳答案

PropertyEditor 只是 String <-> 对象的包装器。您将不得不自己进行数据的编码和解码。就像您在上面为 Country 所做的一样。

我会创建一个服务
Collection<Country> getCountries(int[] id)
然后使用 PropertyEditor 拆分和使用您的服务。我不认为你会找到更好的解决方案。你可以做类似的事情

  void setAsText(String paramValue) {
ids = param.split(",")
// make each id an int
value = service.getCountries(ids)
}

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

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