Frage : Verbindlich vorwählen (Mehrfachverbindungsstelle)

Hallo Experten.

I morgens Mühen beim Versuchen habend, eine Liste mit auserwähltem zu binden (mehrfach).

The Kategorienwesen::
1:
2:
3:
4:
allgemeine Kategorie Regierung führt Serializable {ein
	private List cancerTypes;
} 


The jsp:
1:
2:
3:
							


I morgens den auserwählten Kasten erhalten bevölkert mit allen Einzelteilen in $ {cancerTypes}, aber das Einzelteil, das in regimen.cancerTypes verzeichnet wird, wird nicht als *selected*, auch markiert, wenn man die Form einreicht, die ich das getting
the, das in BindException (Störungen) folgt:
1:
2:
3:
org.springframework.validation.BeanPropertyBindingResult: Störungen 1
Feldstörung im Gegenstand „Regierung“ auf Feld „cancerTypes“: zurückgewiesener Wert [[Ljava.lang.String; @4338fa]; Codes [typeMismatch.regimen.cancerTypes, typeMismatch.cancerTypes, typeMismatch.java.util.List, typeMismatch]; Argumente [org.springframework.context.support.DefaultMessageSourceResolvable: Codes [regimen.cancerTypes, cancerTypes]; Argumente []; Rückstellungsmitteilung [cancerTypes]]; Rückstellungsmitteilung [Vermögenswert der Art [java.lang umwandeln nicht gekonnt. Schnur []] zu erforderlicher Art [java.util. Liste] für Eigentum „cancerTypes“; genistete Ausnahme ist java.lang.IllegalArgumentException: Kann Wert der Art nicht umwandeln [java.lang. Schnur] zu erforderlicher Art [com.oncozoom.protocol.entities.CancerType] für Eigentum „cancerTypes [0]“: keine zusammenpassenden Herausgeber oder Umwandlungsstrategie gefundene] 


Any Idee, wie man diese Ausgabe repariert?
Thx!

Antwort : Verbindlich vorwählen (Mehrfachverbindungsstelle)

Ich regelte es, indem ich PropertyEditorSupport anstelle von CustomCollectionEditor verlängerte, und ich habe auch Gleichgestellte dem POJO hinzugefügt, um IDs zu vergleichen, und es funktioniert wie ein Charme.

Dank für Ihre Hilfe,
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
allgemeine Kategorie CancerTypePropertyEditor verlängert PropertyEditorSupport  {

	privates CancerTypeDAO dao;
	allgemeines CancerTypePropertyEditor (CancerTypeDAO dao, Kategorie collectionType) {
		Super (collectionType);
	this.dao = dao;
	}
	
 
	@Override
	Öffentlichkeit leeres setAsText (Schnurtext) wirft IllegalArgumentException {
		Gegenstand obj = getValue ();
		Listenliste = (Liste) obj;
		für (Schnurstr: text.split („, ")) {
			list.add (dao.retrieveCancerType (Long.valueOf (str)));
		}
	}
	
	@Override
	allgemeines Schnur getAsText () {
		//-TODO Selbst-erzeugter Methodenstummel
		Rückholsuper.getAsText ();
	} 
}

Im Steuerpult:
 	@Override
	geschütztes leeres initBinder (HttpServletRequest Antrag,
			ServletRequestDataBinder Mappen) Würfe Ausnahme {
		super.initBinder (Antrag, Mappe);
		binder.registerCustomEditor (List.class, „cancerTypes“,
			 neues CancerTypePropertyEditor (getCancerTypeDao (),
					 List.class)); /	neues CancerTypePropertyEditor ());		
	 }

In CancerType POJO (die verwirrende nennende Variable ignorieren):
	@Override
	allgemeine Boolesche Gleichgestellte (Gegenstand anObject) {
		 wenn (anObject == Null) {
		        Rückholfalsches;
		    } sonst, wenn (dieses == anObject) {
		        Rückhol ausrichten;
		    } sonst, wenn (anObject instanceof CancerType) {
		        abschließendes CancerType aCountry = (CancerType) anObject;
		        Langes aCountryId = aCountry.getId ();
		        wenn (aCountryId! = Null) {
		            RückholaCountry.getId () .equals (Identifikation);
		        }
		    }
		    Rückholfalsches;
	}

Der Umbau:
							
									
Weitere Lösungen  
 
programming4us programming4us