Cuando tenemos varios SELECT con el mismo nombre en una página web, el ActionForm setea el valor seleccionado como si fuera del tipo multiple.
Causa
Al parecer, Struts “asume” que siempre son del tipo “multiple”.
Solución
Cada SELECT debe ser definido explícitamente como un arreglo:
<html:select property="institucionGastosDocentesDuoc[${contador.index}]....
Y en el ActionForm es necesario tener los siguientes Get y Set para ese elemento:
public String getInstitucionGastosDocentesDuoc(int index) { return institucionGastosDocentesDuoc[index]; }
public void setInstitucionGastosDocentesDuoc(int index, String institucionGastosDocentesDuoc) { this.institucionGastosDocentesDuoc[index] = institucionGastosDocentesDuoc; }
Al get y set se le entrega explícitamente el indice del SELECT que debe obtener o setear.