Logic:equal com 2 valores

8 respostas
smello
Oi pessoal... bom minha dúvida é o seguinte...tenho um combo na tela que só aparece se o valor do campo tipoRelatorio foi "FP" ouuuu se for "BO"... estava usando o equal...
<td>Segmento:</td>
<td>					
<logic:equal name="criticasForm" property="tipoRelatorio" value="FP">     
<html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()">
	<html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/>
</html:select>
</logic:equal>
</td>

mas agora não posso mais comparar APENAS COM FP...oq dá pra eu fazer???

se alguem puder me ajudarr agradeço muuuuito
beijuuuuuuu

8 Respostas

cado

Pelo que eu entendi vc quer testar se é FP ou BO? isso? Se for pode fazer:

<c:if test="${tipoRelatorio == 'FP' || tipoRelatorio == 'BO'}">

Tenta ai, qualquer coisa grita. :wink:

Y

Scriptlet

<% if ((tipoRelatorio.equals("FP")) || tipoRelatorio.equals("BO")) { %>
 <html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()">
 	<html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/>
 </html:select>
 <% } %>
ramilani12

Acrescente mais um <logic:equal></logic:equal>

&lt;logic:equal name="criticasForm" property="tipoRelatorio" value="FP"&gt;     
&lt;logic:equal name="criticasForm" property="tipoRelatorio" value="BO"&gt;     
      
&lt;html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()"&gt;
 	&lt;html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/&gt;
 &lt;/html:select&gt;
 &lt;/logic:equal&gt;
&lt;/logic:equal&gt;
smello

então...com 2 logic equals num dá, pq se o 1º é falso ele nem entra no 2º...
agora...eu tentei com scriptlets, mas num manjo muito disso...e na hora de compilar ta dando pau na variavel tipo relatorio...

como eu declaro essa variavel (corretamente)...??????.
<%
var tipoRelatorio = '<bean:write name="criticasForm" property="tipoRelatorio" />';
%>

<% if ((tipoRelatorio.equals("FP")) || tipoRelatorio.equals("BO")) { %>
     <html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()">
     <html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/>
     </html:select>
<% } %>
ramilani12

Ops me enganei na verdade vc quer a condição OR e não AND , a condição AND seria naquela situação
Com OR seria assim:

&lt;logic:equal name="criticasForm" property="tipoRelatorio" value="FP"&gt;     
 &lt;html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()"&gt;
  	&lt;html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/&gt;
  &lt;/html:select&gt;
 &lt;/logic:equal&gt;

&lt;logic:equal name="criticasForm" property="tipoRelatorio" value="BO"&gt;     
 &lt;html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()"&gt;
  	&lt;html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/&gt;
  &lt;/html:select&gt;
 &lt;/logic:equal&gt;
ramilani12
smello:
então...com 2 logic equals num dá, pq se o 1º é falso ele nem entra no 2º... agora...eu tentei com scriptlets, mas num manjo muito disso...e na hora de compilar ta dando pau na variavel tipo relatorio... como eu declaro essa variavel (corretamente)...??????.
<%
var tipoRelatorio = '<bean:write name="criticasForm" property="tipoRelatorio" />';
%>

<% if ((tipoRelatorio.equals("FP")) || tipoRelatorio.equals("BO")) { %>
     <html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()">
     <html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/>
     </html:select>
<% } %>

Vc esta confundindo JavaScript com Java , var é declaração de variaveis em JavaScript

smello

bomm…ja q num deu pra resolver com scriptlets usei os 2 equals …como OR claro…

valeuu a ajudaa
brigaduuuuuuuuuuu

cado

Eu acho mais “elegante” fazer assim:

<c:if test='${tipoRelatorio == "FP" || tipoRelatorio == "BO"}'>
<html:select property="segmentoItemMetaId" styleClass="select" style="width:280" onchange="defineFiltro()">
 	<html:options collection="comboSegmentoItemMeta" property="codigo" labelProperty="codigoDescricao"/>
 </html:select>
</c:if>
Criado 26 de março de 2007
Ultima resposta 27 de mar. de 2007
Respostas 8
Participantes 4