Вопрос : Binding выберите (многократная цепь)

Hi специалисты.

I am имея тревоги пытаясь связать список с отборным (множественно). классовая сущность

The:: class= " lineNumbers " >
1 >
общественный режим типа снабжает Serializable {
	приватные cancerTypes List;
} jsp >

The class=
1 >
							


I am select>
the следуя за в BindException (ошибки): class= " lineNumbers " >
1 >
org.springframework.validation.BeanPropertyBindingResult: ошибки 1
Ошибка поля в предмете «режиме» на поле «cancerTypes»: излученное значение [[Ljava.lang.String; @4338fa]; Кодие [typeMismatch.regimen.cancerTypes, typeMismatch.cancerTypes, typeMismatch.java.util.List, typeMismatch]; аргументы [org.springframework.context.support.DefaultMessageSourceResolvable: Кодие [regimen.cancerTypes, cancerTypes]; аргументы []; сообщение невыполнения обязательства [cancerTypes]]; сообщение невыполнения обязательства [суменное для того чтобы преобразовать стоимость имущества типа [java.lang. Шнур []] к необходимый типу [java.util. Список] для свойства «cancerTypes»; гнездят исключением будет java.lang.IllegalArgumentException: Не смогите преобразовать значение типа [java.lang. Шнур] к необходимый типу [com.oncozoom.protocol.entities.CancerType] для свойства «cancerTypes [0]»: отсутствие сопрягая редакторы или идея >

Any class= стратегии преобразования ая]
Thx!
class=

Ответ : Binding выберите (многократная цепь)

Я зафиксировал его путем расширять PropertyEditorSupport вместо CustomCollectionEditor, и я также добавлял равные к POJO для того чтобы сравнить IDs, и он работает как шарм.

Спасибо для вашей помощи,
Ahmad
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
общественный тип CancerTypePropertyEditor расширяет PropertyEditorSupport  {

	приватное dao CancerTypeDAO;
	общественное CancerTypePropertyEditor (dao CancerTypeDAO, collectionType типа) {
		супер (collectionType);
	this.dao = dao;
	}
	
 
	@Override
	setAsText публики пустое (текст шнура) бросает IllegalArgumentException {
		Obj = getValue предмета ();
		Список списка = obj (списка);
		для (str шнура: text.split («, ")) {
			list.add (dao.retrieveCancerType (Long.valueOf (str)));
		}
	}
	
	@Override
	общественное getAsText шнура () {
		Stub метода // Автоматическ-произведенный TODO
		возвращенное super.getAsText ();
	} 
}

В регуляторе:
 	@Override
	защищенное пустое initBinder (запрос HttpServletRequest,
			Исключение ходов связывателя ServletRequestDataBinder) {
		super.initBinder (запрос, связыватель);
		binder.registerCustomEditor (List.class, «cancerTypes»,
			 новое CancerTypePropertyEditor (getCancerTypeDao (),
					 List.class)); /	новое CancerTypePropertyEditor ());		
	 }

В CancerType POJO (проигнорируйте confusing перемеююый называя):
	@Override
	общественные булевские равные (anObject предмета) {
		 если (null == anObject) {, то
		        возвращенное ложное;
		    } еще если (это anObject ==) {, то
		        возвращенно true;
		    } еще если (instanceof CancerType anObject) {, то
		        окончательное CancerType aCountry = anObject (CancerType);
		        Длиннее aCountryId = aCountry.getId ();
		        если (aCountryId! = null) {
		            возвращенное aCountry.getId () .equals (удостоверение личности);
		        }
		    }
		    возвращенное ложное;
	}

Бирка:
							
									
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us