Dificuldade usando um multibox

Pessoal, estou montando um formulario em uma aplicação que é um pouquinho chato.
É como se fosse uma tela de lancamentos de um banco onde existe uma tabela e cada linha dessa tabela possui um check box associado, daí eu posso clicar em um botão inserir item para que uma nova linha seja acrescentada na tabela e eu informe os valores, como também posso clicar em um botão excluir item, que daí o sistema pega as linhas com o check box marcado e as deleta.

Estou usando Struts e consegui dar vida a tela, no entanto, estou tendo um trabalhão para fazer o multibox funcionar direitinho, é o seguinte, todos estes campos que se repetem nesta tabela estão declarados no ActionForm como um array de String dai quando eu envio uma requisição a um Action se eu tenho dez linha na tabela então cada um destes elementos vem como um array de dez posições.
Isto é realmente como deve ser, no entanto, isto nao acontece com o componente multibox que é o referente aos check box de cada linha, explicando melhor, ele só me retorna dez posições caso eu marque a ultima linha, agora se eu nao marcar nenhuma entao ele vem como null, ou entao se eu marcar só a terceira linha então ele me retorna um array de somente tres posições e nao de dez como deveria ser e é como acontece nos demais componentes do formulario e aí para resolver isto eu tenho que recriar o array com as dez posições e copiar por exemplo os cinco valores iniciais para este novo de dez posições para só então retornar a tela senão da erro, além também de outros pequenos ajustes.

Enfim, espero ter esclarecido o problema, mas enfim, gostaria de saber de alguem que já fez algo parecido se existe uma forma mais simples de lidar com aplicações que trabalham desta forma, se teria como fazer o componente multibox agir como os demais, retornando sempre um array completo, ou se até mesmo existe alguma taglib que já implemente este tipo de funcionalidade.