Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JSP Interest »

Nested Tags Problem

Jorge Fern=?ISO-8859-1?Q?=EF=BF=BDndez?=

2004-11-04


When I use nested tags i get an exception from tomcat:

C:\jakarta-tomcat-5.0.25\work\Catalina\localhost\prueba\org\apache\jsp\index_jsp.java:89:
_jspx_meth_t_hijo_0(javax.servlet.jsp.tagext.JspTag,javax.servlet.jsp.PageContext)
in org.apache.jsp.index_jsp cannot be applied to
(libreria.padre,javax.servlet.jsp.PageContext)
    if (_jspx_meth_t_hijo_0(_jspx_th_t_padre_0, _jspx_page_context))
       ^

Hope that someone could help me =).

The code is very simple:

/*****************************INDEX.JSP*******************************/
 <%@(protected)" %>
 <t:padre><t:hijo/></t:padre> <!-- also probed
<t:padre><t:hijo></t:hijo></t:padre> -->

/*****************************PADRE.JAVA*******************************/
  package libreria;
  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.ServletRequest;
  import javax.servlet.jsp.JspException;
  import javax.servlet.jsp.JspWriter;
  import javax.servlet.jsp.PageContext;
  import javax.servlet.jsp.tagext.BodyContent;
  import javax.servlet.jsp.tagext.BodyTag;
  import javax.servlet.jsp.tagext.BodyTagSupport;
  import javax.servlet.jsp.tagext.IterationTag;
  import javax.servlet.jsp.tagext.Tag;
  import javax.servlet.jsp.tagext.TagSupport;
  import javax.servlet.jsp.JspTagException;

  public class padre extends TagSupport {
    private String mensaje;
    public String getMensaje() { return mensaje; }

    public int doStartTag() throws JspException {
      return EVAL_BODY_INCLUDE;
    }

    public int doEndTag() {
      return EVAL_PAGE;
    }
  }
/*****************************HIJO.JAVA*******************************/
hijo.java:
  package libreria;
  import ....... (SAME AS ABOVE)

  public class hijo extends libreria.padre { //extends TagSupport was also
probed
    public int doStartTag() throws JspException {
      return SKIP_BODY;
    }
    public int doEndTag() {
      return EVAL_PAGE;
    }
  }

/*****************************LIBRERIA.TLD*******************************/
  <?xml version="1.0" encoding="UTF-8" ?>
  <taglib>
    <tlib-version>1.1.0</tlib-version>
    <jsp-version>2.0</jsp-version>
    <short-name>libreria</short-name>
    <uri>/libreria</uri>
    <display-name>libreria</display-name>
  <tag>
   <name>hijo</name>
     <tagclass>libreria.hijo</tagclass>
     <bodycontent>jsp</bodycontent>
  </tag>
  <tag>
   <name>padre</name>
     <tagclass>libreria.padre</tagclass>
     <bodycontent>jsp</bodycontent>
  </tag>

  </taglib>


P.D: Sorry about my English :P
P.P.D: The complete error i get is the following:

type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera
rellenar este requerimiento.

excepción

org.apache.jasper.JasperException: No se puede compilar la clase para JSP

Ha tenido lugar un error en la línea: 5 en el archivo jsp: /index.jsp

Error de servlet generado:
  [javac] Compiling 1 source file

C:\jakarta-tomcat-5.0.25\work\Catalina\localhost\prueba\org\apache\jsp\index_jsp.java:89:
_jspx_meth_t_hijo_0(javax.servlet.jsp.tagext.JspTag,javax.servlet.jsp.PageContext)
in org.apache.jsp.index_jsp cannot be applied to
(libreria.padre,javax.servlet.jsp.PageContext)
    if (_jspx_meth_t_hijo_0(_jspx_th_t_padre_0, _jspx_page_context))
       ^
1 error


org.apache.jasper.compiler.DefaultErrorHandler.javacError (DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.javacError (ErrorDispatcher.java:315)
org.apache.jasper.compiler.Compiler.generateClass (Compiler.java:406)
org.apache.jasper.compiler.Compiler.compile (Compiler.java:463)
org.apache.jasper.compiler.Compiler.compile (Compiler.java:442)
org.apache.jasper.compiler.Compiler.compile (Compiler.java:430)
org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:274)
org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service (JspServlet.java:236)
javax.servlet.http.HttpServlet.service (HttpServlet.java:810)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:305)

nota La traza completa de la causa de este error se encuentra en los
archivos de diario de Apache Tomcat/5.0.25.
Apache Tomcat/5.0.25

===========================================================================
To unsubscribe: mailto listserv@(protected)".
For digest: mailto listserv@(protected)".

Some relevant archives, FAQs and Forums on JSPs can be found at:

http://java.sun.com/products/jsp
http://archives.java.sun.com/jsp-interest.html
http://forums.java.sun.com
http://www.jspinsider.com
©2008 junlu.com - Jax Systems, LLC, U.S.A.