Ich möchte ein Array an ein boolesches Feld binden können (Ich habe ein Kontrollkästchen und ein verstecktes Feld. Wenn ich keinen Wert für ein Feld erhalte, kann es Standardwert anzeigen). Frühling läßt nicht, dass:Wie man ein Array an einen booleschen Wert im Frühjahr bindet
binding error Field error in object 'target' on field 'documents': rejected value [true,false]; codes [typeMismatch.target.documents,typeMismatch.documents,typeMismatch.boolean,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [target.documents,documents]; arguments []; default message [documents]]; default message [Failed to convert property value of type 'java.lang.String[]' to required type 'boolean' for property 'documents'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value [true,false]]
Ich habe versucht, mein eigenes Eigenschaftseditor hinzuzufügen, aber es scheint, dass dieser Fehler früher ausgelöst.
ServletRequestDataBinder binder = new ServletRequestDataBinder(formBean);
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true, 10));
binder.registerCustomEditor(Boolean.class, new PropertyEditorSupport() {
@Override
public void setAsText(String text) {
logger.debug("boolean text : " + text);
// setValue(type);
}
});
binder.registerCustomEditor(String[].class, new PropertyEditorSupport() {
@Override
public void setAsText(String text) {
logger.debug("array text : " + text);
// setValue(type);
}
});