Gerar script JSP "<% %>" por Tag Library

3 respostas
adamitj

Há como gerar um bloco de código JSP por dentro de uma Tag Library?

Por exemplo:

&lt;html&gt; &lt;body&gt; &lt;% // Testing Jsp Script out.println("Hello? Is there anybody out there?"); %&gt; &lt;/body&gt; &lt;/html&gt;
Se eu tentar colocar em uma Tag Library simples, que apenas faça:

JspWriter out = pageContext.getOut(); out.println("&lt;% out.println("Hello? Is there anybody out there?"); %&gt;");
Ao invés de imprimir a mensagem, o bloco inteiro de código é impresso como se fosse um texto. Ou seja, não reconhece como um script JSP. Já tentei println() e write() para o JspWriter, mas nenhum funcionou…

3 Respostas

Marlon_Meneses

nao tem como fazer isso q vc quer

victorwss

Não é possível. Scriptlets são traduzidos na compilação. Taglibs são executadas em runtime. Portanto não tem como fazer isso.

Além disso, taglibs foram criadas exatamente para acabar para sempre com os scriptlets. Foram projetadas para que não se misturassem mesmo.

Mas, porque você não faz a taglib mesma fazer o que o scriplet faria?

JspWriter out = pageContext.getOut(); out.println("Hello? Is there anybody out there?");

adamitj

Eu já tenho uma página pronta com vários scripts JSP “<% %>”, e estava tentando agregar às Tag Libraries que possuo, reescrevendo-a mas usando a mesma lógica, que é muito grande e complexa. O jeito é reafazer a página inteira.

Obrigado pelas respostas.

Criado 13 de abril de 2009
Ultima resposta 13 de abr. de 2009
Respostas 3
Participantes 3