C:if não funciona [RESOLVIDO]

9 respostas
lopesamf

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.

9 Respostas

Mauricio_Linhares

Você poderia mostrar um exemplo?

lopesamf

<% 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>
Mauricio_Linhares

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.

lopesamf

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>
Mauricio_Linhares

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

${main}

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

lopesamf

aparece o mesmo texto:

${main}

Pedrosa

Coloque essa linha no seu JSP:

<%@page isELIgnored="false"%>
lopesamf

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

Mauricio_Linhares

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>
Criado 2 de maio de 2006
Ultima resposta 2 de mai. de 2006
Respostas 9
Participantes 3