Duvidas sobre loop em tag libs

E aí galera beleza?

Não sei se o titulo que escolhi para meu post é o mais adequado mas minha dúvida é a seguinte:

Consigo gerar uma tabela dinamicamento usando o loop da taglibrary do struts. Mas quando só encontro duas formas de de nostrar os itens, ou em apenas uma linha da tabela ou apenas em uma coluna. O que gostaria era mostar cada linha da tabela com 3 colunas preenchidas com itens.

Obrigado.

isso? ou entendi errado…

<tag de iteração>
  <tr>
    <td>dado 1</td>
    <td>dado 2</td>
    <td>dado 3</td>
  </tr>
</tag de iteração>

[quote=“matheus”]isso? ou entendi errado…

<tag de iteração> <tr> <td>dado 1</td> <td>dado 2</td> <td>dado 3</td> </tr> </tag de iteração> [/quote]

E aí beleza?

Então é quase isso. O que quero fazer é mais ou menos assim:

<tag de iteração>
  <tr>
    <td>dado 1</td>
    <td>dado 1</td>
    <td>dado 1</td>
  </tr>
</tag de iteração>

Cara imagine que eu tenha um bean com varios carros, mas con todos os atributos iguais, então quando fazer a paginação, o metogo getFoto vai ser o mesmo pra todos também como o metodo getModelo e o metodo getFabricant. O que eu quero é pegar minha lista de carro e organiza-lo na página de forma que fique 3 carros em cada linha.

Desculpe se não fui claro em minha dúvida.

Obrigado!
:okok:

Seu problema é fazer a paginação pra aparecer 3 carros por página ou em iterar entre essa lista de carros? bem… pra iterar entre esses carros tu pode fazer assim (com jstl, nao conheço as tags do struts):

<table border="1">
   <c:forEach var="carro" items="carroList">
      <tr>
         <td>carro.foto</td>
         <td>carro.modelo</td>
         <td>carro.fabricante</td>
      </tr>
   </c:forEach>
</table>

Então cara tá quase:

Eu quero na verdade isso:

<table border="1">
   <c:forEach var="carro" items="carroList">
      <tr>
         <td>carro.foto</td>
      </tr>
      <tr>
         <td>carro.foto</td>
      </tr> 
       <ttr>
         <td>carro.foto</td>
      </tr>         
   </c:forEach>
</table> 

Só que é o seguinte imagina que tenho 9 carros. Quero mostar a foto do 1º na celula 1 da linha1, deplois quero apresentar o 2º na celula2 da linha 1 , depois quero apresentar o 3º na celula 3 da linha 1, o 4º carro na celula 1 da linha 2, Depois o 5º ma celula2 da linha2, etc.,

E assim vai.
Desculpe a ser enrolado mas espero ter sido claro desta vez.
Obrigado pela paceência!

Ok, entendi. Seu problema é em conseguir montar a <table> em si. Bem, vou desenhar mais ou menos como eu entendi oque tu quer, ai tu valida e a gente pensa no teu laço ok.

|-----------------------------------------------------------|
| carro1.foto       | carro2.foto       | carro3.foto       |
|-----------------------------------------------------------|
| carro1.modelo     | carro2.modelo     | carro3.modelo     |
|-----------------------------------------------------------|
| carro1.fabricante | carro2.fabricante | carro3.fabricante |
|-----------------------------------------------------------|
|                                                           |
|-----------------------------------------------------------|
| carro4.foto       | carro5.foto       | carro6.foto       |
|-----------------------------------------------------------|
| carro4.modelo     | carro5.modelo     | carro6.modelo     |
|-----------------------------------------------------------|
| carro4.fabricante | carro5.fabricante | carro6.fabricante |
|-----------------------------------------------------------|

seria isto?

[quote=“matheus”]Ok, entendi. Seu problema é em conseguir montar a <table> em si. Bem, vou desenhar mais ou menos como eu entendi oque tu quer, ai tu valida e a gente pensa no teu laço ok.

|-----------------------------------------------------------|
| carro1.foto       | carro2.foto       | carro3.foto       |
|-----------------------------------------------------------|
| carro1.modelo     | carro2.modelo     | carro3.modelo     |
|-----------------------------------------------------------|
| carro1.fabricante | carro2.fabricante | carro3.fabricante |
|-----------------------------------------------------------|
|                                                           |
|-----------------------------------------------------------|
| carro4.foto       | carro5.foto       | carro6.foto       |
|-----------------------------------------------------------|
| carro4.modelo     | carro5.modelo     | carro6.modelo     |
|-----------------------------------------------------------|
| carro4.fabricante | carro5.fabricante | carro6.fabricante |
|-----------------------------------------------------------|

seria isto?[/quote]

Cara tu matou a pau!!! :triunfo:

|-----------------------------------------------------------|
| carro1.foto | carro2.foto | carro3.foto |
|-----------------------------------------------------------|
| carro4.foto | carro5.foto | carro6.foto |
|-----------------------------------------------------------|
| carro7.foto | carro8.foto | carro9.foto |
|-----------------------------------------------------------|

Ficou legao a tabele!

Obrigado pela força!

Aí caras, consegui!!!

<%int i = 0;%>

<logic:iterate name=“PaginaPrincipal” id=“carros” >

&lt;%= (i == 0) ? "&lt;tr&gt;" : ""%&gt; &lt;!--Se i for igual a zero abre uma linha--&gt;
  &lt;td&gt;&lt;div align="center"&gt;&lt;img src="&lt;jsp:getProperty name="carros" property="foto" /&gt;" width="84" height="118"&gt;&lt;/div&gt;&lt;/td&gt;
 &lt;% i++;%&gt;
&lt;%if(i == 3) { i = 0; %&gt; &lt;!--se o i for igual a 3 -ou número desejado- zera o i e fecha a linha.--&gt;
    &lt;/tr&gt;
&lt;%}%&gt;

</logic:iterate>

Cras, agora só preciso transformar o que é scriplet em tag lib, se puderem me ajudar agradeço.

Obrigado!!!
:triunfo: :metalero: :triunfo:

Opa,

cara dê uma olhada neste tutorial que irá ajudá-lo… é do JustJava 2005… bem na palestra o cara não conseguiu por funcionar, mas lá tem a solução que você precisa o link para download é o seguinte:

http://www.eventosucesusp.org.br/eventos/download/542.zip

:okok:

como ficaria isso com JSTL ?
core … algo assim ?
eu tenhu um campo do meu form que aumenta conforme o pedido do client dai fica nCampos=2&var1=oahd$var2=ajosdh
como posso colocar tudu em um array usando o JSTL ?
são 4 campos valor banco … dai todos vão por poste assim
valor1,banco1…valor2,banco2…
o numero de variaveis eu sei pelo nCampos … soh preciso saber como colocar todos eles pelo JSTL … alguem pode me ajudar ai ??

e esse campos vão para um INSERT alguem sabe dai como posso colocar tpw var[n]; dai inserir no banco ?

Salve,

bem enumerar assim é uma tarefa meio estranha… bem na verdade eu tenho uma solução que até dispensa este parâmetro com o número de campos. Funciona da seguinte forma:

-> coloque todos os campos com o mesmo nome: isto porque quando os dados forem submetidos serão reconhecidos como um arranjo de dados.
-> utilize um forEach para navegar pelos dados: <c:forEach var=“itens” items="${param.nomeDoSeuCampo}" varStatus=“s”>

:okok:

VLw ai … vo testar dai posto aki se deu certo :smiley:

ele esta retornando soh o primeiro valor :frowning:
adiciona uma row na tabela e um hidden … agora esta mandando os nomes como vc falo tudu op mesmo

function AddVenda &#40;&#41;&#123;
	var tabela = document.getElementById&#40;&quot;Tvendas&quot;&#41;;
	var newRow = document.getElementById&#40;&quot;Tvendas&quot;&#41;.insertRow&#40;-1&#41;;
	var newCell = newRow.insertCell&#40;0&#41;;
	if &#40;contador == 0&#41;&#123;
		newRow.bgColor = &quot;#EFEFEF&quot;;
		contador++;
	&#125; else &#123;
		contador--;
	&#125;
	i = 2;
	cell = 0;
	while &#40;i&lt;=5&#41;&#123;
		newCell = newRow.insertCell&#40;cell&#41;;
		tamanho = tabela.rows.length;
		newCell.innerHTML = &quot;. &quot;+document.forms&#91;&quot;cadVendas&quot;&#93;.elements&#91;i&#93;.value
		+&quot;&lt;input type=\&quot;hidden\&quot; name=\&quot;&quot;+campo&#91;cCampo&#93;+&quot;\&quot; value=\&quot;&quot;
		+document.forms&#91;&quot;cadVendas&quot;&#93;.elements&#91;i&#93;.value
		+&quot;\&quot;&gt;&quot;;
		i++;
		cell++;
		cCampo++;
	&#125;	
	cParcelas++;
	cCampo = 0;
&#125;

para receber

&lt;c&#58;forEach var=&quot;forV&quot; begin=&quot;0&quot; items=&quot;$&#123;param.valor&#125;&quot; varStatus=&quot;status&quot;&gt;
    $&#123;forV&#125;
&lt;/c&#58;forEach&gt;

e são 5 valores que preciso …
campo[0] = “banco”;
campo[1] = “cheque”;
campo[2] = “valor”;
campo[3] = “vencimento”;
ele manda esses valores certo ja verifiquei com get … soh ainda n consigo retornar os parametros

Humm…

bem se Maomé não vai até a montanha, a montanha vai até Maomé.

hehehe… bem se com JSTL não consiguiu utilize scriplets mesmo! utilize código java é o jeito… bem pode utilizar o request.getParameterNames();

bem para navegar sobre estes dados utilize a seguinte estrutura:

Enumeration param = request.getParameterNames&#40;&#41;; while &#40; param.hasMoreElements&#40;&#41; &#41; &#123; String nomeParam = &#40;String&#41; param.nextElement&#40;&#41;; // faça o que quiser aqui. &#125;