Strusts logic:present e logic:iterate fazer um if nessa tag

4 respostas
S

Olá

Abaixo encontra-se minha duvida com relação ao logic interate,

Nessa minha table é mostrados os dados dessa maneira:

Descrição Categoria Preço

Banana fruta 10,00
Laranja fruta 9,00
Mamão fruta 7,00

Monitor informática 300,00
Mouse informática 10,00

<logic:present name=“produtodescricao”>










<logic:iterate id=“bean” name=“produtodescricao” indexId=“CONTADOR1” length=“6”>

<td bgcolor="#66FF99">
                    <bean:write name="bean" property="categoria"/>
                </td>



                <td bgcolor="#66FF99">
                    <bean:write name="bean" property="preco"/>
                </td>
            </tr>
        </logic:iterate>
        
    </table>
</center>

</logic:present>

[color=red][/color]

A pergunta é muito simples teria como não printar a coluna Categoria apartir do segundo item de cada categoria?

Assim:

Descrição Categoria Preço

Banana fruta 10,00
Laranja 9,00
Mamão 7,00

Monitor informática 300,00
Mouse 10,00

[color=darkred][/color]

Grato

teste

Descricação Categoria Preço prod

<bean:write name=“bean” property=“descrprod”/>

4 Respostas

J

Uma das maneiras seria fazer um if utilizando o seu índice.

Ex.:

<%
  if (CONTADOR1.intValue() < 2) {
%>

<td bgcolor="#66FF99"> 
<bean:write name="bean" property="categoria"/> 
</td> 

<% 
   }
%>
S

julianostr:
Uma das maneiras seria fazer um if utilizando o seu índice.

Ex.:

<%
  if (CONTADOR1.intValue() < 2) {
%>

<td bgcolor="#66FF99"> 
<bean:write name="bean" property="categoria"/> 
</td> 

<% 
   }
%>

se vc verificar o indece me retorna todas as linhas que tem no interate, se for fazer dessa forma ele vai fazer apenas para a primeira categoria, na segunda categoria ele não faria seguindo o exemplo que passei a segunda categoria o índece já passou de 2, ele já é 4, mesmo assim muito obrigado pela ajuda.

J

Desculpe, respondi depressa demais e não antentei para os detalhes.

Sim, você tem razão, pelo meu exemplo somente a primeira categoria seria impressa.

Nesse caso teria que comparar as categorias e criar uma “quebra” pra ela. Comparar a categoria lida com a anterior, enquanto forem iguais não imprima, só imprima quando forem diferentes.

mgasparin

Olá, tente usar a tag logic

&lt;%@ taglib uri="/tags/struts-logic" prefix="logic" %&gt;
&lt;logic:equal value="VALOR_A_SER_COMPARADP" property="categoria" name="bean"&gt;&lt;!-- Aqui deixa em banco --&gt;&lt;/logic:equal&gt;
&lt;logic:notEqual value="1" property="categoria" name="bean"&gt;
        &lt;bean:write name="bean" property="categoria"/&gt; 
&lt;/logic:notEqual&gt;

espero ter ajudado.

Att.
Marcelo.

Criado 17 de janeiro de 2007
Ultima resposta 16 de out. de 2008
Respostas 4
Participantes 3