Como posso criar um include dinâmico

1 resposta
V

Alguém poderia me dizer como posso criar um jsp:include dinâmico, onde cada parametro page seria um nome vindo de uma coleção Iterate

ex: mas tá errado não dá certo

<% 
Iterator lista = (Iterator)session.getAttribute("itensFinal"); 

while(lista.hasNext())
{
    System.out.println("valor é--é:"  + lista.next());
    //colocar aqui o jsp:include com cada elemento
%> 
 
   <jsp:include page="/pages/carros/acervo/<%= lista.next() %>.jsp" flush="true" />
  
<% } %>

1 Resposta

C

Qual é o erro que está dando? Eu costumo fazer exatamente isso e funciona… Se o include simplesmente não estiver aparecendo e não estiver mostrando nenhum erro, provavelmente o nome gerado está errado.

Um outro detalhe, lembre-se que o jsp:include é diferente da diretiva include. Com a diretiva include o código da página é colocada no lugar da diretiva, enquanto que no jsp:include a página é compilada separadamente e só o resultado é colocado no lugar da diretiva. Issa diferente pode gerar erros, por exemplo, suponha que a página A faça o seguinte:

<% String s = "teste";%>
<%@include file='b.jsp'%>

E a página b:

<% out.println(s);%>

Esse código funciona, porém se vc usar o jsp:include vc precisa declarar a variável b de novo.

<% String s = "teste";%>
<jsp:include page='b.jsp'/>

E a página b:

<%String s = "teste";%>
<% out.println(s);%>

Bom, na verdade eu só apontei alguns erros comuns, coloque o erro aqui que fica mais fácil de ver o que está dando errado.

[]'s
carisio

Criado 17 de junho de 2005
Ultima resposta 17 de jun. de 2005
Respostas 1
Participantes 2