Cuestión : Obligatorio seleccionar (el múltiplo)

Hola expertos.

I que tiene apuros al intentar atar una lista con selecto (múltiple). entidad de la clase del

The:: class= " lineNumbers " >
1 del >
el régimen público de la clase ejecuta Serializable {
	cancerTypes privados de List;
} jsp " claro " de >

The del class= de
1 del >
							


I de select>
the que sigue en BindException (errores): class= " lineNumbers " >
1 del >
org.springframework.validation.BeanPropertyBindingResult: errores 1
Error del campo en el objeto “régimen” en el campo “cancerTypes”: valor rechazado [[Ljava.lang.String; @4338fa]; códigos [typeMismatch.regimen.cancerTypes, typeMismatch.cancerTypes, typeMismatch.java.util.List, typeMismatch]; discusiones [org.springframework.context.support.DefaultMessageSourceResolvable: códigos [regimen.cancerTypes, cancerTypes]; discusiones []; mensaje del defecto [cancerTypes]]; mensaje del defecto [no podido para convertir el valor de una propiedad del tipo [java.lang. Secuencia []] al tipo required [java.util. Lista] para la característica “cancerTypes”; la excepción jerarquizada es java.lang.IllegalArgumentException: No puede convertir el valor del tipo [java.lang. Secuencia] al tipo required [com.oncozoom.protocol.entities.CancerType] para la característica “cancerTypes [0]”: ¿ningunos redactores que emparejan o idea " clara " encontrada de >

Any del class= de la estrategia de conversión]
Thx!
class= del

Respuesta : Obligatorio seleccionar (el múltiplo)

Lo fijé ampliando PropertyEditorSupport en vez de CustomCollectionEditor, y también he agregado los iguales al POJO para comparar IDs, y trabaja como un encanto.

Gracias por su ayuda,
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:
la clase pública CancerTypePropertyEditor amplía PropertyEditorSupport  {

	dao privado de CancerTypeDAO;
	CancerTypePropertyEditor público (dao de CancerTypeDAO, collectionType de la clase) {
		estupendo (collectionType);
	this.dao = dao;
	}
	
 
	@Override
	el setAsText vacío del público (el texto de la secuencia) lanza IllegalArgumentException {
		Obj = getValue del objeto ();
		Lista de la lista = obj (de la lista);
		para (str de la secuencia: text.split (“, ")) {
			list.add (dao.retrieveCancerType (Long.valueOf (str)));
		}
	}
	
	@Override
	getAsText público de la secuencia () {
		Trozo Auto-generado TODO del método de //
		super.getAsText de vuelta ();
	} 
}

En regulador:
 	@Override
	initBinder vacío protegido (petición de HttpServletRequest,
			Excepción de los tiros de la carpeta de ServletRequestDataBinder) {
		super.initBinder (petición, carpeta);
		binder.registerCustomEditor (List.class, “cancerTypes”,
			 nuevo CancerTypePropertyEditor (getCancerTypeDao (),
					 List.class)); /	nuevo CancerTypePropertyEditor ());		
	 }

En CancerType POJO (no hacer caso de la variable confusa que nombra):
	@Override
	iguales boleanos públicos (anObject del objeto) {
		 si (falta de información del == del anObject) {
		        falso de vuelta;
		    } si (este anObject del ==) {
		        de vuelta verdad;
		    } si (instanceof CancerType del anObject) {
		        CancerType final aCountry = anObject (de CancerType);
		        aCountryId largo = aCountry.getId ();
		        ¡si (aCountryId! = falta de información) {
		            aCountry.getId de vuelta () .equals (identificación);
		        }
		    }
		    falso de vuelta;
	}

La etiqueta:
							
									
Otras soluciones  
 
programming4us programming4us