Popular Checkbox

Bom dia pessoal…

Tenho um formulário HTML onde o usuário pode selecionar opções dentro de um conjunto de checkbox, ex:

<input type="checkbox" name="veiculo" value="carro"> Carro <input type="checkbox" name="veiculo" value="moto"> Moto
Eu consigo transferir os valores para o Controller, popular um array com os valores selecionados, gravar no banco, etc.
Agora preciso criar outra página onde estes valores sejam recuperados e editáveis no mesmo formato, quer dizer utilizando checkbox que
poderão estar marcadas ou não.

Eu até consegui fazer isso utilizando JSTL:

<jsp:useBean id="umaPessoa" class="br.com.model.Pessoa" scope="request"/> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> //O metodo veiculo() retorna um array com os valores selecionados no checkbox da página anterior. <input type="checkbox" name="veiculo" value="carro" <c:forEach var="veiculo" items="${umaPessoa.veiculo}"> ${veiculo == 'carro' ? 'checked' : ''}</c:forEach>>Carro<br> <input type="checkbox" name="veiculo" value="moto" <c:forEach var="veiculo" items="${umaPessoa.veiculo}"> ${veiculo == 'moto' ? 'checked' : ''}</c:forEach>>Moto<br>
Mas não gostei do código pois se tivesse 50 checkbox seriam 50 loops no mesmo array. Quais são as melhores alternativas neste caso?

não diria que é a melhor alternativa neste caso, mas você pode usar uma Collection(uma List ou um Map) em vez de um array.

com uma List, por exemplo:

[code]class Pessoa {
private List veiculos;

// get and set

}
[/code]

Obrigado! Já é uma ideia. Não sei se a performance ficará melhor, mas é mais legível com certeza.
Eu acredito que tenha uma forma padronizada de fazer isso (sem utilizar frameworks), afinal não é uma necessidade fora do comum.

[quote=trekkerbr]Obrigado! Já é uma ideia. Não sei se a performance ficará melhor, mas é mais legível com certeza.
Eu acredito que tenha uma forma padronizada de fazer isso (sem utilizar frameworks), afinal não é uma necessidade fora do comum.[/quote]
a performance eu tenho certeza que melhorará. mas não sei se há uma forma padronizada para fazer isso.