Нежелательное разделение запятыми при привязке строки (из списка) к списку в Spring - PullRequest
2 голосов
/ 26 апреля 2011

У меня есть стандартный список со множественным выбором, связанный со свойством List объекта.

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

например.если в элементе списка указано «Я вмещаю запятую», свойство устанавливается в список, содержащий два элемента: «Я вмещаю» и «Запятая».

Я использую Spring 3.0.5 иmvc: на основе аннотаций, поэтому я получаю стандартные конвертеры, как установлено в FormattingConversionServiceFactoryBean;где-то там вызывается StringToCollectionConverter.Хотя это должно быть полезно в другом месте (во внутренностях Spring), я не хочу этого здесь.

Кто-нибудь знает правильный способ обойти это?Это такая очевидная и простая проблема, что я не могу помочь, но думаю, что мне здесь не хватает чего-то очевидного;это действительно может быть ошибка / недосмотр весной?Без сомнения, будут разные способы настройки Converters или PropertyEditors, чтобы обойти это, но наверняка должен быть элегантный и удобный для среды ответ?

Тэг формы для правильной меры:

<form:select path="someListProperty" multiple="true" items="${possibleValuesForSomeListProperty}" size="5" itemLabel="name" itemValue="name" />

Приветствие.

1 Ответ

1 голос
/ 26 апреля 2011

Что мне кажется очевидным ответом, так это сохранить список на стороне сервера и позволить клиентской стороне выбирать только смещения, а не фактические значения:

<select name="list" >
<option value="0">Foo</option>
<option value="1">Bar</option>
<option value="2">Phleem</option>
</select>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...