バインディングは、私はCountry
クラスのようなものに見えるデータは、多くのエンド協会
のインスタンスにHTTPパラメータをデータバインドするとします既に存在し、以下を使用して取得することができるCountry
のインスタンス:
これを行う簡単な方法は、国のIDを対応するCountry
インスタンスに変換できるPropertyEditor
を定義することです。
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()
}
}
代わりに私は、HTTP(配列パラメータ)に送られ
class Continent {
Integer id
String name
Collection<Country> countries
}
のインスタンスと国のIDをデータバインドします。 Collection<Country>
を簡単にバインドする方法はありますか?別のPropertyEditor
を定義することによって?
なぜあなたは大陸ではなく、コレクションにバインドしますか?あなたは国のリストの代わりに大陸のidにバインドしたいと思いますか?右? –
この例では、ユーザーが新しい大陸を作成できると仮定できますが、大陸には既に作成された国のみが含まれている場合があります。 –
国コードをカンマ区切りにして読み込むことはできませんか?それぞれがキャッシュされている場合や、単一行のSQLステートメントを使用している場合は、1つの要求ですべてをロードできるはずです。あなたは何か簡単なものを探していますか? –