Ich habe ein Objekt wie dieses:
public class FormFields extends BaseObject implements Serializable {
private FieldType fieldType; //checkbox, text, radio
private List<FieldValue> value; //FieldValue contains simple string/int information, id, value, label
//other properties and getter/setters
}
Ich durchlaufe eine Liste von FormFields und wenn der fieldType nicht gleich einem Optionsfeld ist, gebe ich die Liste der Feldwerte in einer JSP aus, indem ich
<c:forEach items=${formField.value}></c:forEach>
was alles gut ist und gut funktioniert.
Außerhalb dieser habe ich eine Prüfung für, wenn das FeldTyp ein Radio ist, in dem ich verwenden:
<form:radiobuttons path="formFields[${formFieldRow.index}].value" items="${formField.value}" itemLabel="label" cssClass="radio"/>
Dies bereitet mir jedoch Probleme, da ich Fehler wie diesen erhalte:
Failed to convert property value of type [java.lang.String] to required type [java.util.List] for property formFields[11].value; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [java.lang.String] to required type [com.example.model.FieldValue] for property value[0]: no matching editors or conversion strategy found
Ich habe dies gegoogelt und Stack Overflow durchsucht und fand Verweise auf registerCustomEditor und ähnliche Funktionen, aber ich bin unsicher, wie man dies richtig zu lösen.
Ist der benutzerdefinierte Eigenschaftseditor der richtige Weg für diese Aufgabe? Wenn ja, wie würde er funktionieren?