Problema com BeanUtils e array

Galera,

Estou tendo um problema com Apache Commons BeanUtils quando ele atribui um valor para um atributo que é um array de Double.

Descobri este problema debugando o Struts.

Acontece que tenho o seguinte form html, gerado dinamicamente:

&lt;input type="text" name="moeda[0]_masked"&gt;&lt;input type="hidden" name="moeda[0]"&gt;<br> &lt;input type="text" name="moeda[1]_masked"&gt;&lt;input type="hidden" name="moeda[1]"&gt;

Tenho um form bean assim:

[code]public class MeuForm … {
private Double[] moeda = new Double[2];

public void setMoeda(int i, Double val) {
this.moeda[i] = val;
}

public Double getMoeda(int i) {
return this.moeda[i];
}
}[/code]

Quando o Struts chama o BeanUtil para popular o array do meu form, ele sobrescreve os valores, justamente por causa dos nomes dos campos de entrada:

moeda[0]_masked e moeda[0]
moeda[1]_masked e moeda[1]

Ou seja, para o “BeanUtils.populate()”, ambos os nomes correspondem ao mesmo atributo do objeto.

Solução: terei de renomear meu campo “masked”, retirando os colchetes, por exemplo.

Porque uso esse “masked”??? Pois o Struts 1.x não possui um formatter, então uso uma tag que gera campos com formatação e mascaramento, enviando ao servidor o valor sem máscara

Acabei descobrindo sem querer. Fica registrada a dica!