绑定到SPring MVC 2.5中的Collection

时间:2010-06-23 01:22:34

标签: spring spring-mvc

我正在维护一个在Spring 2.5中编写的Spring MVC Web应用程序。现在我想添加一些增强功能但是 目前遇到一些问题。

我创建了一个选择框并将multiple选项设置为true并将其禁用。 填充选择的唯一方法是通过进行一些ajax调用。

<form:select  path="dataFiles" multiple="true" disabled="true">
</form:select>

publiv class MyData{
 private List<String> dataFiles = new ArrayList<String>();
 //getters
 //setters
}

ajax调用返回后,我会自动选择每个选项。我不希望用户再编辑它。

但我的问题是,在表单提交期间,他们没有绑定到我的commandbean。有没有解决方法呢?

我尝试删除已禁用的属性,一切正常,但我的问题是,它违反了我的要求。

关于此的任何提示?

1 个答案:

答案 0 :(得分:0)

使用Spring框架提供的InitBinder批注和CustomerCollection实用程序。

我会在我的控制器中写下面的内容。

@InitBinder()
public void initBinder(WebDataBinder binder) throws Exception
{
   binder.registerCustomEditor(Collection.class, new CustomCollectionEditor());
}

请参阅有关活页夹的Spring文档

http://static.springsource.org/spring/docs/2.5.x/reference/validation.html#beans-beans-conversion