DropDownChoice - ничего не выбрано, значение -1? - PullRequest
3 голосов
/ 26 октября 2010

У меня есть компонент DropDownChoice в моей Форме, и когда форма отправляется, и ничего не выбирается из DropDownChoice, возвращаемое значение по умолчанию равно «-1». Есть ли способ изменить это поведение?

Ответы [ 2 ]

2 голосов
/ 26 октября 2010

Это поведение контролируется постоянным полем

protected static final String NO_SELECTION_VALUE = "-1";

в AbstractSingleSelectChoice, которое является суперклассом DropDownChoice.

Вы не можете изменить это значение в подклассеТаким образом, чтобы изменить используемое значение, вам необходимо найти использование этой константы и переопределить методы, которые используют ее, чтобы использовать другие значения по умолчанию.

Это будет рискованно, хотя, вероятно, возможно.Я знаю, что вам нужно переопределить по крайней мере getDefaultChoice(final Object selected) и getModelValue().

Почему вы хотите это сделать?Это разумная ценность для своей цели.

Возможно, есть лучший подход для удовлетворения ваших основных потребностей.

1 голос
/ 26 октября 2010

Подключитесь к beforeSubmit и измените то, что вы хотите.Я думаю, что это хорошо иметь такое значение, так как первый элемент равен 0, отметка означает -1.

...