cómo acceder a los campos de matriz de formulario con struts2
Pregunta
Actualmente estoy trabajando en un formulario que contiene 2 botones. Al hacer clic en el botón 1, obtengo un bloque de campos html como se muestra a continuación.
`
<table width="100%">
<tbody><tr>
<td class="style4" width="12%" align="center">CODE<span class="style3"> </span></td>
<td width="18%"><input name="c_code[]" value="" id="c_code__" class="box_border" style="width: 120px;" type="text"></td>
<td class="style3" width="15%" align="right">Price</td>
<td width="7%"><input name="c_price[]" value="" id="c_price__" class="box_border" style="width: 40px;" type="text"></td>
<td class="style3" width="4%" align="right">Qty</td>
<td width="7%"><input name="c_qty[]" value="" id="c_qty__" class="box_border" style="width: 40px;" type="text"></td>
<td class="style3" width="9%" align="right">On Sale </td>
<td width="3%"><input name="c_onsale[]" id="c_onsale__" value="" type="radio">
<label for="c_onsale"></label>
</td>
<td class="style3" width="10%" align="center">Exposition</td>
<td width="15%"><input name="c_exposition[]" size="15" value="" id="c_exposition__" class="box_border" type="text"></td>
</tr>
</tbody></table>
`
Ahora, cada vez que el usuario haga clic en el bloque completo del botón dado anteriormente, se incluirá en el formulario html mediante la llamada al método ajax.
- Ahora mi problema es cómo puedo obtener los valores de todos los elementos como una matriz en la clase de acción struts2. O cómo escribir los métodos de establecimiento y obtención para estas matrices.
¿Hay alguna otra forma mejor de actuar de otra manera que me facilite el trabajo?
- ¿Cómo escribir el archivo de validación struts2 para campos de matriz como este?
¿Puede alguien ayudarme en este asunto?
Gracias.
Solución
Bien, si puede cambiar el nombre de sus campos usando un índice en la matriz para cada iteración, entonces se llamarán c_name [0], c_name [1], etc ... Entonces, simplemente puede definir una matriz en su La clase de acción y el mapeo se hará sin problemas. En cuanto a la validación, sugeriría una validación del lado del servidor en su acción.
Saludos,
Otros consejos
Use la Lista en lugar de una matriz en el lado del servidor y los puntales asignarán automáticamente las nuevas secciones (nuevo bloque de elementos en la interfaz de usuario).
Si lo define como una matriz, no podrá inicializar una nueva sección cada vez, ya que el tamaño no puede aumentar dinámicamente