Pessoal,
Não estou conseguindo executar um código JSTL em um fragmento de JSP. Já tentei colocar a diferetiva de JSTL dentro do fragmento e dentro do código JSP principal, mas mesmo assim não adiantou. Não dá nenhuma mensagem de erro, simplesmente não executa o código.
Alguém já passou por isso ?
Obrigado
Coloque o código para analisarmos.
Opa,
acho que saquei a tua dúvida, você está falando algo como:
<a href="/minhaApp/naoSeiOq?algumaCoisa=<c:out value='${outraCoisa}'/>">
ou
<a href="/minhaApp/naoSeiOq?algumaCoisa=${valor}">
A única solução que encontrei foi usar o velho scriplet, caso não queria criar um tag personalizada para fazer este serviço.
:okok:
Pessoal,
Andei estudando, fazendo alguns teste e peguei uma informação importante. Então deixe-me corrigir a minha pergunta inicial. Na verdade o JSTL não funciona somente quando eu incluo fragmento JSP utilizando a tag <JSP:INCLUDE/>. Usando a tag <%@INCLUDE%> A JSTL funciona normalmente.
Tem alguma diferença entre as duas formas ?
PS:
Aqui está o fragmento JSP chamado de meujstl.jspf:
<h2>Estudando JSTL</h2>
<br>
<b>O valor é</b>
<c:set var="x" value="JSP"/>
<c:out value="${x}"/>
Quando incluo o fragmento da forma descrita abaixo, funciona normalmente, o código JSTL é executado e o valor de x é mostrado:
<%@include file="/jspf/meujstl.jspf"%>
Por um outro lado se eu executo da seguinte forma não funciona, todo o conteúdo é mostrado menos a parte que está em JSTL:
<jsp:include page="/jspf/meujstl.jspf"/>
Opa,
Existe diferenças sim, <%@include%> significa que a página será gerada incluída no momento de interpretação da página. Já a <jsp:include> indica que a página será gerada durante a execução, ou seja, qualquer alteração nesta página já está disponível no próximo acesso do cliente independente da página principal.
:okok:
Entendi…
É por isso então que com <jsp:include> meu JSTL não funciona. Ele interpreta JSPF e só depois inclui ao JSP principal. Como o fragmento não tem nenhuma diretiva de JSTL ele não vai funcionar. Para os fins que eu quero o ideal é usar <%@include%> …
Estou correto ?
Obrigado cara …