Olá amigos, Se puderem me ajudar, por gentileza,
Estou tentando isso no VRaptor:
<form>
<input name="testes[0].atributo.endereco" />
<input name="testes[0].atributo.numero" />
<input name="testes[0].atributo.cidade" />
<input name="testes[0].atributo.estado" />
</form>
e no controller:
public void action(Teste[] testes) {
}
Minha intenção era que chegasse no metodo o array com apenas uma posicao (e os campos do objeto preenchidos). Mas o tamanho do array, no controller, é 4. Sendo que o primeiro item tem os campos preenchidos com o que veio na requisição, e os outros, não. Minha impressão é que o array está sendo criado com o numero de ocorrencias em que o parametro aparece na requisição (no caso, 4).
Dando uma olhada aqui no IOGI, me parece que o problema está nessa linha:
Se esse mapa representa os parametros agrupados por chave ([0], [1], etc), então o tamanho total do array a ser criado seria keys.size(), não values.size()
(esse código é invocado aqui: https://github.com/rafaeldff/Iogi/blob/master/src/br/com/caelum/iogi/collections/ArrayInstantiator.java#L54)
Ou o meu jeito de usar o array está incorreto? Já fiz um teste recebendo um List e funcionou, mas nesse caso específico gostaria de usar o array (pra reaproveitar um método que já existe)
Obrigado!