私は自分のシステムでこの問題に関して苦労しています。構造を持つ複雑なフォームを使用しています:
<form:hidden path="details[${detailEntry.key}].locationSites[${locStatus.index}].locationId" />
...
それから私はフォームオブジェクトを持っています:
class MyForm implements Serializable
{
private Map<String, DetailVO> details;
<with getters and setters>
...
}
クラス DetailVO を使用:
class DetailVO
{
...
private List<LocationSiteVO> locationSites;
<with getters and setters>
....
}
class LocationSiteVO
{
...
private boolean field1;
...
<with getters and setters>
}
バインディングが特に LocationSiteVO.field1 値で機能しない場合が (ほとんどの場合) 発生します。デバッグを通じて、フォーム (UI) からコントローラー (LocationSiteVO 自体をバインドすることを意味します) に正しく渡されますが、DetailVO レベルでは渡されないことがわかります。誰かがこの問題を抱えている場合は、解決方法を共有してください。
どうもありがとう!