Struts: Error al setear multiples elementos del formulario de tipo SELECT

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.