Play Framework: registre un DataBinder personalizado para campos dinámicos

Usando Play 2.3.7 (Java) tengo el siguiente escenario.

Tengo una claseCSVData que contiene una lista de tiposCSVField. Aquí están los atributos para estas clases:

public class CSVData{

private String name;
private String description;
private String dataFilePath;
private List<CSVField> fields;
private Double latitude;
private Double longitude;


// rest of class... }

y

public class CSVField {
    private String name;
    private String type;

...}

La dificultad al hacer un formulario para ingresarCSVData es que tengo esto anidadoList<CSVField> atributo yCSVField es un tipo personalizado que contiene dos cadenas. Necesito que el formulario sea dinámico, ya que debería ser capaz de aceptar una cantidad arbitraria deCSVFields (al menos 1). De acuerdo con laDocumentación de formulario Java, parece que debería registrar un DataBinder personalizado para CSVField, sin embargo, no puedo encontrar ningún ejemplo que haga esto con múltiples cadenas de entrada.Este ejemplo es similar, pero solo une un campo.

Aquí hay un video de qué tipo de entrada del usuario me gustaría tener. Hice mi vista usandoeste código de ejemplo para agregar campos dinámicos. La combinación del campo de texto (nombre) y el elemento desplegable seleccionado (tipo) es lo que necesito vincular a unCSVField y luego agregar a laList<CSVField> fields en elCSVData objeto.¿Cómo puedo hacer esto usando Play Framework?

EDITAR: En mi controlador he intentado esto

Form<CSVData> formData = Form.form(CSVData.class).bindFromRequest();

Y en la vista intento esto

@helper.repeat(csvForm("fields"), min = 1) { csvField =>

    @multiDataField(csvField,
        label = "Column Name and Type",
        gsnTypes,
        help = "Enter the column names and respective types for the data items in the file")

}

DóndemultiDataField esesta modelo. Pero no vincula los campos dinámicos correctamente y arroja un error de validación no válido enfields. Creo que mi problema es que no sé quéname atributos para usar en mimultiDataField modelo. ¿Algún consejo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta