0

私は自分のシステムでこの問題に関して苦労しています。構造を持つ複雑なフォームを使用しています:

<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 レベルでは渡されないことがわかります。誰かがこの問題を抱えている場合は、解決方法を共有してください。

どうもありがとう!

4

1 に答える 1

0

あなたのクラス DetailVo と LocationSiteVO も実装する必要があると思いますSerializable。それでもうまくいかない場合は、いくつか作成してConverterください。

編集:申し訳ありませんが、あなたの場合、コンバーターは役に立たないと思います。オブジェクトがすでに存在する場合に、オブジェクトを見つけるのに役立ちます。短所として、次の方法でパスを変更できます。

${details[detailEntry.key].locationSites[locStatus.index].locationId}

于 2012-04-20T14:15:03.560 に答える