私はこの問題に関して私のシステムに関して苦労しています。私は構造の複雑なフォームを使用しています:クラスDetailVOと複雑なデータ形式のSpringデータバインディング(Listメンバーを持つオブジェクトのハッシュマップ)
class MyForm implements Serializable
{
private Map<String, DetailVO> details;
<with getters and setters>
...
}
:
class DetailVO
{
...
private List<LocationSiteVO> locationSites;
<with getters and setters>
....
}
class LocationSiteVO
{
...
private boolean field1;
...
<with getters and setters>
}
起こる何回(ほとんどの場合)があるある
<form:hidden path="details[${detailEntry.key}].locationSites[${locStatus.index}].locationId" />
...
はその後、私は、フォームオブジェクトが持っていますそのバインディングはLocationSiteVO.field1値で特に機能しません。デバッグを行うと、フォーム(UI)からコントローラー(LocationSiteVO自体をバインドすることを意味する)に正しく渡されますが、DetailVOレベルには渡されません。 誰かがこの問題を抱えている場合は、解決方法を教えてください。
ありがとうございます!
DetailVO&LocationSiteVOは、両方の直列化されています。問題は、DetailVOのLocationSiteVOをバインドすることです。コンバータでそれがどのように解決されるか詳しく説明できますか? – user1346699
パスを変更する場合:java.lang.IllegalArgumentExceptionが発生しました: 'path'が空であってはなりません – user1346699
私は最終的に私の問題を解決します。 locationSitesは各詳細エントリの1つのオブジェクトのみを参照していることが判明しました。そのため、バインディングはlocationSitesの1つのコピーのみを更新しています。 – user1346699