Домен Transfer Object для HTML-формы с различным количеством полей - PullRequest
1 голос
/ 25 февраля 2011

Кто-нибудь имел дело с ситуацией, когда на стороне клиента (html-форма) существует один тип поля, которое существует несколько раз?

Как:

    <input id="fileRef1" type="hidden"/>
    <input id="fileRef2" type="hidden"/>
    ....
    <input id="fileRefx" type="hidden"/>

чтобы DTO понадобилось что-то вроде String[] fileRefs;

Я использую Spring Framework, но я не понимаю, как я могу использовать DataBinder или пользовательский редактор для этого. Любые предложения, пожалуйста?

Ответы [ 3 ]

2 голосов
/ 25 февраля 2011

Spring привязка позволит вам использовать синтаксис, как

<input name="arrayOfStrings[0]" type="hidden" value="xxx">
<input name="arrayOfStrings[1]" type="hidden" value="xxx">

Просто убедитесь, что ваш массив DTO имеет правильный размер. Вы также можете использовать org.springframework.util.AutoPopulationList , если вы теперь знаете во время генерации формы, сколько элементов будет иметь ваша коллекция.

0 голосов
/ 02 января 2012

Дать одинаковое имя поля всем полям

<input id="fileRef1" name="fileRefs" type="hidden"/>
<input id="fileRef2" name="fileRefs" type="hidden"/>

....

, чтобы значение fileRefs сохранялось в массиве String, например String [] fileRefs, в порядке

0 голосов
/ 25 февраля 2011

Вам, вероятно, стоит взглянуть на эти ссылки:

SO

mattfleming

Мэтфлэминг - почему?

eggsylife

lifeinide

richardadamdean

...