Problema lógica de jstl

0 respostas
C

Estou dando continuidade a um site agregador de compras coletiva, mas estou com um problema.

Na listagem de ofertas, não pode aparecer ofertas repetidas, não que tenha repetidas no banco,
mas existem uma oferta em várias cidades, e na listagem geral mostra a mesma oferta para são paulo e depois pode aparecer a mesma para rio de janeiro, por exemplo.

Estou usando jstl para mudar a lógica de como as ofertas são mostradas, mas não está dando certo.

Alguém pode me ajudar?

Obrigado!

Eu sei que o código está confuso, mas apenas estou dando continuidade no site, pretendo organiza-lo em breve.

<c:set var="counter" value="1" />
                <c:set var="counter2" value="1" />
                <c:forEach var="offer2" items="${offers.rows}" varStatus="n">
                    <c:forEach var="offer" items="${offers.rows}" varStatus="i">
                        <br/>  
                                <c:out value="|||| ${i.count}"/>
                                <c:if test="${i.count > 0}">
                        <c:choose>
                            <c:when test="${offer.OFFtxtTitle.equals(offer2.OFFtxtTitle) && offer.CITintID == 1}"> 
                                <br/>  
                                <c:out value="offer ${offer.OFFtxtTitle}"/>
                                <br/>      
                                <c:out value="offer2 ${offer2.OFFtxtTitle}"/>
                                <br/>
                                <c:set var="prefix_" value="_" />
                                <c:set var="imageOffer" value="${context}sources/${offer.SRCvchrConfigName}/${prefix_}${offer.imageName}" />
                                <c:if test="${empty offer.imageName}">
                                    <c:set var="imageOffer" value="${context}images/${offer.SRCvchrConfigName}_default.jpg" />
                                </c:if>
                                <div class="box_prod">
                                    <div class="box_prod_top"></div>
                                    <div class="box_prod_middle">
                                        <div class="title_prod">
                                            <span id="prod_cidade">${offer.cITvchrName}</span>
                                        </div>
                                             
                                        <!--<div id="clock_${n.index}">[clock_${n.index}]</div>-->
                                        <div class="time_prod">
                                            <img src="images/icon_clock.gif"/>
                                            <strong>REP ${n.count} || ${i.count}: </strong>
                                                 
                                            <c:choose>
                                                <c:when test="${offer.OFFintID < 8000}">
                                                    <a href="${rootURL}oferta-${offer.OFFintID}">oferta ativa</a>
                                                </c:when>
                                                <c:otherwise>
                                                    oferta ativa
                                                </c:otherwise>
                                            </c:choose>                       
                                        </div>
                                             
                                        <br style="clear:both;" />
                                        <div class="prod_content">
                                            <a href="${offer.OFFvchrLink}" target="_blank" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);" title="${offer.offerTitle}"><img src="${imageOffer}" class="img_principal" alt="Desconto ${offer.SRCvchrConfigName} ${offer.CITvchrName}" width="189" height="162" /></a>
                                            <div>
                                                <a href="${offer.OFFvchrLink}" target="_blank" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);"><span id="offer_title">${offer.offerTitle}</span></a><br />
                                                <br/>
                                                <div><span style="float:left;">oferta de compra coletiva:</span><a href="javascript:return false;" onclick="javascript:submitSource('${offer.SRCvchrURL}');" title="Compra Coletiva"><img src="images/logos/${offer.SRCvchrLogo}" alt="Compra Coletiva" class="img-oferta" width="81" height="38" /></a></div>
                                                        <c:choose>
                                                            <c:when test="${offer.titleSize > 103}">
                                                        <br />
                                                        <br />
                                                    </c:when>
                                                    <c:otherwise>
                                                        <br />
                                                        <br />
                                                        <br />
                                                    </c:otherwise>
                                                </c:choose>
                                                <table cellspacing="0" cellpadding="0" border="0">
                                                    <tr>
                                                            <td width="110px" style="font-weight:bold;"><!--<a href="${offer.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);">-->por<!--</a>--></td>
                                                        <td width="20px" rowspan="2"></td>
                                                        <td width="2px" rowspan="2" style="border-left:1px solid #CCCCCC; padding-left:10px;"></td>
                                                        <td width="2px" rowspan="2"></td>
                                                        <td width="60px"><!--<a href="${offer.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);">-->desconto<!--</a>--></td>
                                                        <td width="20px" rowspan="2"></td>
                                                        <td width="2px" rowspan="2" style="border-left:1px solid #CCCCCC; padding-left:10px;"></td>
                                                        <td width="2px" rowspan="2"></td>
                                                        <td width="110px"><!--<a href="${offer.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);">-->economize<!--</a>--></td>
                                                        <td width="155" rowspan="2"><a href="${offer.OFFvchrLink}" target="_blank" onClick="javascript:_gaq.push(['_trackPageview','fonte-${offer.SRCvchrName}']);" title="Comprar Oferta"><img src="images/bt_comprar.jpg" class="bt_compra-content" alt="Comprar Oferta" /></a></td>
                                                    </tr>
                                                    <tr>
                                                            <td style="font-weight:bold; font-size: 15px;"><!--<a href="${offer.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);">-->R$ <span>${offer.finalPrice1}</span>,${offer.finalPrice2}<!--</a>--></td>
                                                            <td><!--<a href="${offer.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);">-->${offer.OFFvchrPercentDiscount}%<!--</a>--></td>
                                                            <td><!--<a href="${offer.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer.SRCvchrName}']);">-->R$ ${offer.OFFvchrValueDiscount}<!--</a>--></td>
                                                    </tr>
                                                </table>
                                            </div>
                                            <br style="clear:both;" />
                                        </div>
                                        <div class="compartilhe">
                                            <span style="padding-right:10px;">
                                                <span style="float: left;">
                                                    compartilhe: &nbsp;
                                                </span>
                                                <%--                                       
                                                <a href="http://twitter.com/" target="_blank" title="Twitter"><img src="images/icon_twitter.gif" alt="Twitter" /></a> &nbsp;
                                                <a href="http://facebook.com.br" target="_blank" title="Facebook"><img src="images/icon_facebook.gif" alt="Facebook" /></a> &nbsp;
                                                <a href="mailto:[email removido]" title="Contato | Cuponado"><img src="images/icon_email.gif" alt="Contato | Cuponado" /></a>
                                                --%>
                                                     
                                                <!-- AddThis Button BEGIN -->
                                                <!--                                        <div class="addthis_toolbox addthis_default_style " 
                                                                                             addthis:url="http://www.cuponado.com.br" style="float: left;">
                                                                                                  
                                                                                            <a class="addthis_button_facebook"></a>
                                                                                            <a class="addthis_button_email"></a>
                                                                                        </div>                                        
                                                                                        <script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=xa-4ee8e8a379e52bce"></script>                                        -->
                                                <!-- AddThis Button END -->
                                                     
                                            </span>
                                            <span style="border-left:1px solid #CCCCCC;padding-left:10px;"></span>
                                            <span><a id="register_error_${offer.OFFintID}" name="register_error_${offer.OFFintID}" href="javascript:return false;" style="color:#949191;font-size:9px;">avisar erro na oferta</a></span>
                                        </div>
                                    </div>
                                    <div class="box_prod_bottom"></div>
                                </div>
                                        <c:set var="counter2" value="${counter+1}" />
                            </c:when>  
                            <c:otherwise>
                                <c:if test="${counter2 == 1}">
                                    <br/>  
                                <c:out value="offer ${offer.OFFtxtTitle}"/>
                                <br/>      
                                <c:out value="offer2 ${offer2.OFFtxtTitle}"/>
                                <br/>
                                    <c:set var="prefix_" value="_" />
                                    <c:set var="imageOffer" value="${context}sources/${offer2.SRCvchrConfigName}/${prefix_}${offer2.imageName}" />
                                    <c:if test="${empty offer2.imageName}">
                                        <c:set var="imageOffer" value="${context}images/${offer2.SRCvchrConfigName}_default.jpg" />
                                    </c:if>
                                    <div class="box_prod">
                                        <div class="box_prod_top"></div>
                                        <div class="box_prod_middle">
                                            <div class="title_prod">
                                                <span id="prod_cidade">${offer2.cITvchrName}</span>
                                            </div>
                                                
<!--<div id="clock_${n.index}">[clock_${n.index}]</div>-->
                                            <div class="time_prod">
                                                <img src="images/icon_clock.gif"/>
                                                <strong>${n.count} || ${i.count}: </strong>
                                                    
                                                <c:choose>
                                                    <c:when test="${offer2.OFFintID < 8000}">
                                                        <a href="${rootURL}oferta-${offer2.OFFintID}">oferta ativa</a>
                                                    </c:when>
                                                    <c:otherwise>
                                                        oferta ativa
                                                    </c:otherwise>
                                                </c:choose>                       
                                            </div>
                                                
                                            <br style="clear:both;" />
                                            <div class="prod_content">
                                                <a href="${offer2.OFFvchrLink}" target="_blank" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);" title="${offer2.offerTitle}"><img src="${imageOffer}" class="img_principal" alt="Desconto ${offer2.SRCvchrConfigName} ${offer2.CITvchrName}" width="189" height="162" /></a>
                                                <div>
                                                    <a href="${offer2.OFFvchrLink}" target="_blank" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);"><span id="offer_title">${offer2.offerTitle}</span></a><br />
                                                    <br/>
                                                    <div><span style="float:left;">oferta de compra coletiva:</span><a href="javascript:return false;" onclick="javascript:submitSource('${offer2.SRCvchrURL}');" title="Compra Coletiva"><img src="images/logos/${offer2.SRCvchrLogo}" alt="Compra Coletiva" class="img-oferta" width="81" height="38" /></a></div>
                                                            <c:choose>
                                                                <c:when test="${offer2.titleSize > 103}">
                                                            <br />
                                                            <br />
                                                        </c:when>
                                                        <c:otherwise>
                                                            <br />
                                                            <br />
                                                            <br />
                                                        </c:otherwise>
                                                    </c:choose>
                                                    <table cellspacing="0" cellpadding="0" border="0">
                                                        <tr>
                                                                <td width="110px" style="font-weight:bold;"><!--<a href="${offer2.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);">-->por<!--</a>--></td>
                                                            <td width="20px" rowspan="2"></td>
                                                            <td width="2px" rowspan="2" style="border-left:1px solid #CCCCCC; padding-left:10px;"></td>
                                                            <td width="2px" rowspan="2"></td>
                                                            <td width="60px"><!--<a href="${offer2.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);">-->desconto<!--</a>--></td>
                                                            <td width="20px" rowspan="2"></td>
                                                            <td width="2px" rowspan="2" style="border-left:1px solid #CCCCCC; padding-left:10px;"></td>
                                                            <td width="2px" rowspan="2"></td>
                                                            <td width="110px"><!--<a href="${offer2.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);">-->economize<!--</a>--></td>
                                                            <td width="155" rowspan="2"><a href="${offer2.OFFvchrLink}" target="_blank" onClick="javascript:_gaq.push(['_trackPageview','fonte-${offer2.SRCvchrName}']);" title="Comprar Oferta"><img src="images/bt_comprar.jpg" class="bt_compra-content" alt="Comprar Oferta" /></a></td>
                                                        </tr>
                                                        <tr>
                                                                <td style="font-weight:bold; font-size: 15px;"><!--<a href="${offer2.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);">-->R$ <span>${offer2.finalPrice1}</span>,${offer2.finalPrice2}<!--</a>--></td>
                                                                <td><!--<a href="${offer2.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);">-->${offer2.OFFvchrPercentDiscount}%<!--</a>--></td>
                                                                <td><!--<a href="${offer2.OFFvchrLink}" target="_blank" style="color:#00366e; text-decoration:none;" onClick="javascript:_gaq.push(['_trackPageview','${offer2.SRCvchrName}']);">-->R$ ${offer2.OFFvchrValueDiscount}<!--</a>--></td>
                                                        </tr>
                                                    </table>
                                                </div>
                                                <br style="clear:both;" />
                                            </div>
                                            <div class="compartilhe">
                                                <span style="padding-right:10px;">
                                                    <span style="float: left;">
                                                        compartilhe: &nbsp;
                                                    </span>
                                                    <%--                                       
                                                    <a href="http://twitter.com/" target="_blank" title="Twitter"><img src="images/icon_twitter.gif" alt="Twitter" /></a> &nbsp;
                                                    <a href="http://facebook.com.br" target="_blank" title="Facebook"><img src="images/icon_facebook.gif" alt="Facebook" /></a> &nbsp;
                                                    <a href="mailto:[email removido]" title="Contato | Cuponado"><img src="images/icon_email.gif" alt="Contato | Cuponado" /></a>
                                                    --%>
                                                        
                                                    <!-- AddThis Button BEGIN -->
                                                    <!--                                        <div class="addthis_toolbox addthis_default_style " 
                                                                                                 addthis:url="http://www.cuponado.com.br" style="float: left;">
                                                                                                     
                                                                                                <a class="addthis_button_facebook"></a>
                                                                                                <a class="addthis_button_email"></a>
                                                                                            </div>                                        
                                                                                            <script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=xa-4ee8e8a379e52bce"></script>                                        -->
                                                    <!-- AddThis Button END -->
                                                        
                                                </span>
                                                <span style="border-left:1px solid #CCCCCC;padding-left:10px;"></span>
                                                <span><a id="register_error_${offer2.OFFintID}" name="register_error_${offer2.OFFintID}" href="javascript:return false;" style="color:#949191;font-size:9px;">avisar erro na oferta</a></span>
                                            </div>
                                        </div>
                                        <div class="box_prod_bottom"></div>
                                    </div>
                                    <c:set var="counter2" value="${counter+1}" />
                                </c:if>
                            </c:otherwise>
                        </c:choose>
                                </c:if>
                    </c:forEach>
Criado 13 de fevereiro de 2012
Respostas 0
Participantes 1