C:if não funciona [RESOLVIDO]

Já testei todos os exemplos usando a tag <C:IF…> existentes na WEB e nenhuma funciona…qualquer código colocado dentro da condicional não executa de jeito nenhum e também não dá nenhum erro…alguém tem alguma idéia do que pode está ocorrendo?

OBrigado.

Você poderia mostrar um exemplo?

<% String s = “images” ; %>

<%=s%>

<c:if test= “${s == ‘images’}” >
<c:out value="${s}"/>
</c:if>
<c:if test= “${s != ‘images’}” >
<c:out value="${s}"/>
</c:if>

E quem disse que essa String “s” vai estar disponível nos escopos da Expression Language pra que esse IF seja avaliado?

Ou você coloca isso no escopo de request, fazendo um request.setAttribute(“s” , “Sua String”) ou então faça um jsp:useBean/ pra poder colocar essa variável lá. Simplesmente declarar uma variável em um JSP não faz com que ela esteja disponível na Expression Language não.

Mas eu tentei usar um retorno do Javabean e deu na mesma:

<c:if test= “${main.prf_xxx == ‘true’}” >
<c:out value="${main.prf_xxx}"/>
</c:if>
<c:if test= “${main.prf_xxx != ‘true’}” >
<c:out value="${main.prf_xxx}"/>
</c:if>

Faça isso na página e veja o que aparece:

${main}

(É só isso mesmo, sem <c:out/> )

aparece o mesmo texto:

${main}

Coloque essa linha no seu JSP:

<%@page isELIgnored="false"%>

É…assim funcionou!!!
O que tinha de errado???

O seu web.xml provavelmente está na versão 2.3, que não tem suporte total a Expression Language, o melhor era você atualizar ele pra versão 2.4 pra garantir o suporte completo a Expression Language. A declaração dele é essa aí:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>