2010-06-23 3 views
1

Я поддерживаю веб-приложения Spring MVC, написанные весной 2.5. Теперь я хочу добавить некоторые улучшения, но в настоящее время сталкивается с некоторыми проблемами.Связывание с коллекцией в SPring MVC 2.5

Я создал поле выбора и установил множественный вариант в 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 я автоматически выбираю каждый вариант. Я не хочу, чтобы пользователь редактировал это больше.

Но моя проблема в том, что во время подачи формы они не привязаны к моей команде. Есть ли обходной путь для этого?

Я попытался удалить отключенный атрибут, и все работает хорошо, но моя проблема в том, что это нарушает мои требования.

Какие-либо намеки об этом?

+0

Если поле отключено, вы уверены, что браузер даже передавать данные? – skaffman

+0

Hi SkaffMan, Я замечаю это тоже в своем firebug. В любом случае, я думаю, что все отключенные теги не участвуют в представлении формы. Спасибо. –

+0

Согласен, если ваше поле отключено. Я не верю, что данные будут отправлены по форме. Захватите событие javascript submit и включите это поле. Это приведет к тому, что поле будет отключено для пользователя, пока оно не будет отправлено и должно отправить его. – ballmw

ответ

0

Использование аннотации InitBinder и CustomerCollection для использования с использованием Spring Framework.

Я бы написал что-то вроде ниже в моем контроллере.

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

См Спринг документацию о вяжущих здесь

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

Смежные вопросы