Boa noite pessoal.
Preciso fazer uma lista que os valores vem do banco. Eu já tinha conseguido fazer essa lista utilizando lista múltipla, porém eu queria fazer uma lista de checkbox.
Sendo assim, essa lista possui 10 valores e quero fazer uma coluna com 5 valores e a outra coluna com 5, uma coluna paralela com a outra, tentei implementar aqui a lista de checkbox só que ficou um embaixo do outro e não sei fazer isso que estou querendo.
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Motivos: </font></td>
<%List<Motivos> listMotivo = ServletRequisicao.listMotivos(); %>
<%for(Motivos motivos : listMotivo)
{%>
<tr>
<td>
<input type = "checkbox" name = "listMotivos" value = "<%=motivos.getCodMotivo() %>"><%=motivos.getNomeMotivo() %>
<br>
</td>
</tr>
<%}%>
</tr>
Tem como fazer isso? Ou a melhor opção é a lista múltipla?
cara, tem como sim.
vc pode usar uma string para formar o codigo HTML da sua tabela.
ai dpois vc imprime essa string, q sera seu HTML final( as 2 colunas) com um
out.writer(html);
pra montar essa logica ai vc so vai precisar de um for, q vai de 1 ate o numero de indices q vc vai ter na lista
e um if/else pra concatenar as strings…
vai ter um for dpois daquele for(Motivos motivos : listMotivo)
tipo assim
for(int i=1 ; i<=10 ; i++)
{
a ideia do if/else seria assim:
[code]
if (i%2==1){
html += “
coluna1 | ”//isso msm, vc nao vai fechar o
!!
}
else{
html+=“
coluna2 | ”;
out.writer(html);//imprime a linha n com as duas colunas
html = “”;//reinicializa a string
/
repare que nesse else vc ta fechando o
agora a logica começa td de novo, vai entrar no if… e dpois no else… e imprimindo a linha com as duas colunas…
lembrando q essa logica so vai da certo, se for um numero par de indices, pra caso contrario eh soh colocar e/ou tirar alguma coisinha/
}
"[/code]
agora é so passar isso pro seu jsp.
um conselho:
te recomendaria largar jsp agora!
jsp te traz perda de desempenho nas suas aplicacoes, alem de causar mta ilegibilidade (veja esse caso a bagunça q ficou o codigo)
procure um pouco sobre facelets, e passe a usar paginas xhtml.
thales_biolck,
Vlw cara, consegui entender a lógica chegando em casa vou implementar isso. 
Então cara, estou usando JSP porque o projeto é JSP/Servlet. Depois, vou trocar os JSPs por JSTLs assim fica mais legivel.
Vlw cara!
Então thales_biolck, tentei implementar aqui o que vc me falou mas não deu muito certo por causa do segundo “for”.
Consegui fazer de um outro jeito aqui
<%for(int i = 0; i < listMotivo.size(); i++)
{
if(i % 2 == 0){%>
<tr>
<td><input type = "checkbox" name ="listMotivos" value = "<%=listMotivo.get(i).getCodMotivo() %>"><%=listMotivo.get(i).getNomeMotivo() %></td>
<%}
else{%>
<td><input type = "checkbox" name = listMotivos" value = "<%=listMotivo.get(i).getCodMotivo()%>"><%=listMotivo.get(i).getNomeMotivo() %></td></tr>
<%}
}%>
Agora só falta dar uma arrumada no html 