Olá pessoal,
Dúvida simples. Por que este comando não está sendo executado?
<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core”%>
…
<c:if test="{1 == 1}">
<h:outputText value=“Show” styleClass=“campo”/>
</c:if>
Manda executar e ele não entra no IF. É como se o 1 não fosse igual a 1. O que está errado?
Desde já agardeço.
Simples, faltou o sinal de $ (se for a versão mais recente do Faces, a 1.2, o sinal de # também servirá) antes do abre-chave.
<c:if test="${1 == 1}">
<h:outputText value="Show" styleClass="campo"/>
</c:if>
Oi Leonardo!
Fiz a mudança que você sugeriu: <c:if test="${1 == 1}"> deu erro na instrução. Substitui então por <c:if test="#{1 == 1}">; dessa vez não deu erro, mas, mais uma vez ficou sem executar: como se o 1 fosse diferente de 1.
Outra sugestão?
Desde já agradeço.
Abraço.
Conseguiu resolver o problema??? estou com este mesmo problema!
Só que no caso, o erro não está no JSF e sim no JSTL. Se fizer um IF simples como:
<c:if test="{1==1}"> entrou if </c:if>
ou
<c:if test="${1==1}"> entrou if </c:if>
ou
<c:if test="{1 eq 1}"> entrou if </c:if>
ou
<c:if test="1 == 1"> entrou if </c:if>
Nada funciona!! Alguem sabe pq?
Galera… descobri a solução para este problema.
(versão padrão)
Altere o : <%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core”%>
Para o: <%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>
Após isto, funcionará normalmente.
Que bom que resolveu seu problema…mas…
não use esse tipo de lógica, use o que o framework tem a oferecer…
[quote=Javabuntu]Que bom que resolveu seu problema…mas…
não use esse tipo de lógica, use o que o framework tem a oferecer…[/quote]
ou seja:
<h:outputText value="Show" styleClass="campo" rendered="#{1 == 1}"/>