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?