java - Cómo publicar una matriz de objetos personalizados con entradas faltantes en la acción de Struts2
html type-conversion (2)
Está extendiendo ArrayList
y tiene un constructor que toma una Class
. Por lo tanto, cambiarías:
List<String> foo = new ArrayList<String>();
foo.add("bar");
foo.add("");
foo.add("");
foo.add("foobar");
foo.add("barfoo");
dentro:
List<String> foo = new XWorkList(String.class);
foo.add("bar");
foo.add(3, "foobar");
foo.add(4, "barfoo");
Entradas tabulares Esto sugiere usar XWorkList
lugar de ArrayList
, cuando se desconoce el tamaño de la matriz y hay lagunas intermedias.
Pero XWorkList
no es genérico y no tiene un constructor vacío, según la documentación
Mi pregunta es cómo usar XWorkList
o ¿hay alguna manera de enviar la lista de frijoles con algunos elementos que faltan en la lista?
Muestra Html:
<input name="lst[0].name"/>
<input name="lst[3].name"/>
<input name="lst[4].name"/>
Un contrato de List
es una colección ordenada. No puede faltar los indeces. Acerca de XWorkList
es solo otra implementación de la lista, capaz de crear nuevos elementos para el índice especificado completando la brecha para los elementos requeridos. Qué se dice para add(int, Object)
Inserta el elemento especificado en la posición especificada en esta lista. Cambia el elemento actualmente en esa posición (si existe) y cualquier elemento posterior a la derecha (agrega uno a sus índices). Se garantiza que este método funcionará, ya que creará beans vacíos para llenar el espacio entre el tamaño de la lista actual y el índice solicitado para permitir que se establezca el elemento.
Otro enfoque para crear nuevos beans en la lista es usar la conversión de tipos . O usando anotaciones como en esta respuesta.