Ajuda com <c:forEach>

Bom dia galera.

É o seguinte, o que pode estar errado neste trecho do meu sistema?

<table border="1" style="width: 100%">
					<tr>
						<td width="140px">Veículos</td>
						<td width="77px">Data</td>
						<c:forEach var="lista" items="${chklst.veiculos}"
							end="${chklst.tamanho}">
							<td width="140px"><c:out value="${lista.itemCkl.descricao}" /></td>
						</c:forEach>
						<td align="center">Vencimento em</td>
					</tr>
					<c:forEach var="list" items="${chklst.veiculos}">
						<tr>
							<td width="140px"><c:out value="${list.placa}" /></td>
							<td width="77px"><c:out value="${list.dtCkl}" /></td>
							<c:forEach var="item" items="${chklst.veiculos}"
								end="${chklst.tamanho}">
								<td width="140px"><c:out value="${item.veiCkl.estado}" /></td>
							</c:forEach>
							<td></td>
						</tr>
					</c:forEach>
</table>

Ele deveria montar uma table com 2 linhas, mas está montando com 7.
Já debuguei, a lista está certa, mas eu preciso que seja processada estas 7 linhas, mas carregar informação em 2 linhas. Seriam loops aninhados.

Se alguém puder ajudar aí! Uso JSF 1.2 aqui na firma.

Abraço.

[quote=dlsilva1812]Bom dia galera.

É o seguinte, o que pode estar errado neste trecho do meu sistema?

<table border="1" style="width: 100%">
					<tr>
						<td width="140px">Veículos</td>
						<td width="77px">Data</td>
						<c:forEach var="lista" items="${chklst.veiculos}"
							end="${chklst.tamanho}">
							<td width="140px"><c:out value="${lista.itemCkl.descricao}" /></td>
						</c:forEach>
						<td align="center">Vencimento em</td>
					</tr>
					<c:forEach var="list" items="${chklst.veiculos}">
						<tr>
							<td width="140px"><c:out value="${list.placa}" /></td>
							<td width="77px"><c:out value="${list.dtCkl}" /></td>
							<c:forEach var="item" items="${chklst.veiculos}"
								end="${chklst.tamanho}">
								<td width="140px"><c:out value="${item.veiCkl.estado}" /></td>
							</c:forEach>
							<td></td>
						</tr>
					</c:forEach>
</table>

Ele deveria montar uma table com 2 linhas, mas está montando com 7.
Já debuguei, a lista está certa, mas eu preciso que seja processada estas 7 linhas, mas carregar informação em 2 linhas. Seriam loops aninhados.

Se alguém puder ajudar aí! Uso JSF 1.2 aqui na firma.

Abraço.

[/quote]

Tenta mudar o código conforme abaixo e veja se da certo:

<table border="1" style="width: 100%">  
                    <tr>  
                        <td width="140px">Veículos</td>  
                        <td width="77px">Data</td>  
                        <c:forEach var="lista" items="${chklst.veiculos}"  
                            end="${chklst.tamanho}">  
                            <td width="140px"><c:out value="${lista.itemCkl.descricao}" /></td>  
                        </c:forEach>  
                        <td align="center">Vencimento em</td>  
                    </tr>  
                    <c:forEach var="list" items="${chklst.veiculos}">  
                        <tr>  
                            <td width="140px"><c:out value="${list.placa}" /></td>  
                            <td width="77px"><c:out value="${list.dtCkl}" /></td>  
                            <td width="140px"><c:out value="${list.veiCkl.estado}" /></td>  
                            <td></td>  
                        </tr>  
                    </c:forEach>  
</table> 

[quote=guilherme_costa][quote=dlsilva1812]Bom dia galera.

É o seguinte, o que pode estar errado neste trecho do meu sistema?

<table border="1" style="width: 100%">
					<tr>
						<td width="140px">Veículos</td>
						<td width="77px">Data</td>
						<c:forEach var="lista" items="${chklst.veiculos}"
							end="${chklst.tamanho}">
							<td width="140px"><c:out value="${lista.itemCkl.descricao}" /></td>
						</c:forEach>
						<td align="center">Vencimento em</td>
					</tr>
					<c:forEach var="list" items="${chklst.veiculos}">
						<tr>
							<td width="140px"><c:out value="${list.placa}" /></td>
							<td width="77px"><c:out value="${list.dtCkl}" /></td>
							<c:forEach var="item" items="${chklst.veiculos}"
								end="${chklst.tamanho}">
								<td width="140px"><c:out value="${item.veiCkl.estado}" /></td>
							</c:forEach>
							<td></td>
						</tr>
					</c:forEach>
</table>

Ele deveria montar uma table com 2 linhas, mas está montando com 7.
Já debuguei, a lista está certa, mas eu preciso que seja processada estas 7 linhas, mas carregar informação em 2 linhas. Seriam loops aninhados.

Se alguém puder ajudar aí! Uso JSF 1.2 aqui na firma.

Abraço.

[/quote]

Tenta mudar o código conforme abaixo e veja se da certo:

[code]

Veículos Data Vencimento em
[/code][/quote]

Bom dia amigo.

Conforme imagem em anexo, esta é a saída do código acima.

Eu preciso que seja processado, aqueles valores onde está no Desengate, numa linha só, pois aqueles valores referem-se aos ítens dos cabeçalho da tabela.
No caso eu precisava aí, que aparecesse a Placa MON1111 numa linha com os valores vazios e placa ZZZ1251 com 3 valores na mesma linha. Será q fui claro amigo?

Desde já agradeço.
Att.
Diego Silva


[quote=dlsilva1812][quote=guilherme_costa][quote=dlsilva1812]Bom dia galera.

É o seguinte, o que pode estar errado neste trecho do meu sistema?

<table border="1" style="width: 100%">
					<tr>
						<td width="140px">Veículos</td>
						<td width="77px">Data</td>
						<c:forEach var="lista" items="${chklst.veiculos}"
							end="${chklst.tamanho}">
							<td width="140px"><c:out value="${lista.itemCkl.descricao}" /></td>
						</c:forEach>
						<td align="center">Vencimento em</td>
					</tr>
					<c:forEach var="list" items="${chklst.veiculos}">
						<tr>
							<td width="140px"><c:out value="${list.placa}" /></td>
							<td width="77px"><c:out value="${list.dtCkl}" /></td>
							<c:forEach var="item" items="${chklst.veiculos}"
								end="${chklst.tamanho}">
								<td width="140px"><c:out value="${item.veiCkl.estado}" /></td>
							</c:forEach>
							<td></td>
						</tr>
					</c:forEach>
</table>

Ele deveria montar uma table com 2 linhas, mas está montando com 7.
Já debuguei, a lista está certa, mas eu preciso que seja processada estas 7 linhas, mas carregar informação em 2 linhas. Seriam loops aninhados.

Se alguém puder ajudar aí! Uso JSF 1.2 aqui na firma.

Abraço.

[/quote]

Tenta mudar o código conforme abaixo e veja se da certo:

[code]

Veículos Data Vencimento em
[/code][/quote]

Bom dia amigo.

Conforme imagem em anexo, esta é a saída do código acima.

Eu preciso que seja processado, aqueles valores onde está no Desengate, numa linha só, pois aqueles valores referem-se aos ítens dos cabeçalho da tabela.
No caso eu precisava aí, que aparecesse a Placa MON1111 numa linha com os valores vazios e placa ZZZ1251 com 3 valores na mesma linha. Será q fui claro amigo?

Desde já agradeço.
Att.
Diego Silva[/quote]

Veja se é isso que você precisa, pelo que entendi você quer que para cada placa tenha apenas uma linha correto?

Da seguinte maneira:

<table border="1" style="width: 100%">
					<tr>
						<td width="140px">Veículos</td>
						<td width="77px">Data</td>
						<c:forEach var="lista" items="${chklst.veiculos}"
							end="${chklst.tamanho}">
							<td width="140px"><c:out value="${lista.itemCkl.descricao}" /></td>
						</c:forEach>
						<td align="center">Vencimento em</td>
					</tr>
					<c:set var="placa" scope="page" value=""/>
					<c:forEach var="list" items="${chklst.veiculos}">
						<c:if test="${list.placa !=  pageScope.placa}">
							<c:set var="placa" value="${list.placa}" scope="page" />
							<tr>
								<td width="140px"><c:out value="${list.placa}" /></td>
								<td width="77px"><c:out value="${list.dtCkl}" /></td>
								<c:forEach var="item" items="${chklst.veiculos}"  end="${chklst.tamanho}">
									<td width="140px"><c:out value="${item.veiCkl.estado}" /></td>
								</c:forEach>
								<td></td>
							</tr>
						</c:if>
					</c:forEach>
</table>

Me desculpe, caso eu tenha entendido errado.

Estamos quase lá meu amigo… É isso mesmo, eu preciso que mostre cada placa numa linha, mas não carregou o restante das informações, só imprimiu as placas e data.