Bem… Pra começar, eu gostaria de dizer que estou criando este tópico por já ter esgotado as esperanças de conseguir fazer algo sozinho.
Estou tentando começar a mexer com taglibs. Li um tutorial e estava tentando compilar a seguinte classe:
//HelloWorldTag.java
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class HelloWorldTag implements Tag
{
private PageContext pageContext;
private Tag parent;
public HelloWorldTag()
{
super();
}
public int doStartTag() throws javax.servlet.jsp.JspTagException
{
return SKIP_BODY;
}
public int doEndTag() throws javax.servlet.jsp.JspTagException
{
try
{
pageContext.getOut().write("Hello World!");
}
catch(java.io.IOException e)
{
throw new JspTagException("IO Error:" + e.getMessage());
}
return EVAL_PAGE;
}
public void release() {}
public void setPageContext(final javax.sevlet.jsp.PageContext pageContext)
{
this.pageContext = pageContext;
}
public void setParent(final javax.servlet.jsp.tagext.Tag parent)
{
this.parent = parent;
}
public javax.servlet.jsp.tagext.Tag getParent()
{
return parent;
}
}
Fui ao prompt de comando (eu uso windows), até a pasta em que estava o arquivo e digitei:
javac HelloWorldTag.java
Erros.
package javax.servlet.jsp does not exist.
package javax.servlet.jsp.tagext does not exist.
Fui procurar auxílio no (surpresa) google. Não tardei a encontrar alguém com a mesma dificuldade no fórum da Sun. Alguém disse que era preciso instalar o J2EE ao invés de apenas o J2Se.
Então eu baixei e instalei.
Nada mudou =P
Disseram que eu tinha que encontrar o JAR contendo o package e adicioná-lo ao CLASSPATH.
Eu fui procurar o que era CLASSPATH.
Eu li estes 2 tutoriais daqui do GUG:
Classpath, entendendo o que é e para que serve
Instalando e configurando o JDK no Windows
Configurei o CLASSPATH. Ufa!
Achei no tomcat (uso-o) um arquivo “servlet-api.jar”. Pensei: só pode ser este.
Tentei de novo. Nada!
Bem, eu descompactei o jar para ver se o problema era com ele. Era! Ele só continha javax/servlet/. Uma pasta “javax” e outra. Abri “javax” outra pasta: servlet. Abri servlet. Bem, vários arquivos .java, mas nenhuma pasta “jsp”.
Bem, agora que eu sabia que o jar não servia, tinha que verificar o CLASSPATH. Tirei os imports de HelloWorldTag.java e adicionei outro:
import javax.servlet.*;
Desta vez funcionou. Quero dizer, não houve erro com esse import, mas claro que houveram outros erros, já que o import que eu estava usando não continha as classes que eu utilizei.
Resta saber:
Onde eu consigo um .jar com os pacotes javax.servlet.jsp.* e javax.servlet.jsp.tagext.* ???
Por favor, alguém me ajude =)
Agradeço se você chegou até o final… =D