Spring数据与来自(使用List成员的对象的hashmap)的复杂数据绑定

时间:2012-04-20 13:58:18

标签: java spring data-binding

我的系统一直在努力解决这个问题;我正在使用具有结构的复杂形式:

<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级别。 如果有人遇到此问题,请分享您的解决方法。

非常感谢!

1 个答案:

答案 0 :(得分:0)

我认为您的类DetailVo和LocationSiteVO也必须实现Serializable。 如果之后仍然无效,请制作一些Converter

编辑:对不起,我觉得转换器对你的情况没用。它用于在已存在的对象中查找它们。 通过利弊,你可以尝试改变路径:

  

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