You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-user@tomcat.apache.org by Moritz Bayer <mo...@eoa.de> on 2003/11/04 09:05:57 UTC
Going nuts...
hello list,
I really donm't know why I always have to get these strange messages, but once again, I have an Exception I really don't understand. This is killing my time and my motivation. Hope someone can help me out of this situation!
I want to nest a tag within another tag, and my jsp-code looks like this:
...
<%@ taglib uri="/WEB-INF/classes/tlds/test.tld" prefix="test" %>
<test:setwherespalte>
<test:spalte tabelle="tt_member" name="id" wherespalte="id" wert='<%=request.getParameter("blaetterid")%>'/>
<test:spalte tabelle="tt_member" name="dropdown" wherespalte="calc" wert='<%=request.getParameter("dropdownfilterwert")%>'/>
</test:setwherespalte>
-------------------------------------------------------------------------------------------------------------------------------------
The tags are defined as followed:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<!-- a tag library descriptor -->
<taglib>
<tlib-version>1.1</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>simple</short-name>
<uri>/WEB-INF/classes/tlds/test.tld</uri>
<description></description>
<tag>
<name>spalte</name>
<tag-class>.tags.query.Spalte</tag-class>
<body-content>JSP</body-content>
<description></description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>no</rtexprvalue>
</attribute>
<attribute>
<name>wherespalte</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>wert</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>tabelle</name>
<required>true</required>
<rtexprvalue>tue</rtexprvalue>
</attribute>
</tag>
<tag>
<name>setwherespalte</name>
<tag-class>cms.tags.query.SetWherespalte</tag-class>
<body-content>JSP</body-content>
<description></description>
</tag>
------------------------------------------------------------------------------------------------------------------------------------------------
... anf my java code looks like this:
import javax.servlet.jsp.tagext.*;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.*;
import java.io.*;
public class Spalte extends BodyTagSupport{
private String name = null;
private String wherespalte = null;
private String wert = null;
private String tabelle = null;
public void setTabelle(String tab){
this.tabelle = tab;
}
public void setWert(String wert){
this.wert = wert;
}
public void setWherespalte(String spalte){
this.wherespalte = spalte;
}
public void setName(String name){
this.name = name;
}
public int doStartTag()throws JspTagException{
SetWherespalte parent = (SetWherespalte)findAncestorWithClass(this, SetWherespalte.class);
if(parent == null){
throw new JspTagException ("nesting error");
}else{
if(name.equalsIgnoreCase("id")){
// do something
}
}
return(this.EVAL_BODY_TAG);
}
}
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import de.eoa.sql.CCDB;
import de.eoa.sql.CCException;
/**
* <p>Überschrift: </p>
* <p>Beschreibung: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Organisation: eoa</p>
* @author not attributable
* @version 1.0
*/
public class SetWherespalte extends TagSupport{
private String[][] wherearray = null;
private String[][] table = null;
private String[][] tablefields = null;
private String[][] subtablefields = null;
private CCDB ccdb = null;
private ResultSet rs = null;
private ResultSetMetaData rsmd = null;
public SetWherespalte(){
this.wherearray = new String[1][3];
HttpSession session = pageContext.getSession();
this.setTablenames();
this.getMainfields();
this.getSubfields();
}
private void setTablenames(){ }
private void getMainfields(){ }
private void getSubfields(){}
}
-----------------------------------------------------------------------------------------------------------------------------------
And here comes the Exception, that drives me nuts...
HTTP Status 500 -
_____
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
root cause
javax.servlet.ServletException
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:531)
at org.apache.jsp.mitglieder_l_jsp._jspService(mitglieder_l_jsp.java:252)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
Re: Going nuts...
Posted by Martin Cooper <ma...@apache.org>.
Well, for one thing, it looks like you've got your base classes the wrong
way around. You have the body-less tag extending BodyTagSupport, and the
body-ed tag extending TagSupport.
For another, your TLD has values for <rtexprvalue> such as 'no' and 'tue'.
I don't know if either of those is the cause of your problem, but they
certainly won't help. ;-)
--
Martin Cooper
On Tue, 4 Nov 2003, Moritz Bayer wrote:
> hello list,
>
> I really donm't know why I always have to get these strange messages, but once again, I have an Exception I really don't understand. This is killing my time and my motivation. Hope someone can help me out of this situation!
> I want to nest a tag within another tag, and my jsp-code looks like this:
>
> ...
> <%@ taglib uri="/WEB-INF/classes/tlds/test.tld" prefix="test" %>
>
> <test:setwherespalte>
> <test:spalte tabelle="tt_member" name="id" wherespalte="id" wert='<%=request.getParameter("blaetterid")%>'/>
> <test:spalte tabelle="tt_member" name="dropdown" wherespalte="calc" wert='<%=request.getParameter("dropdownfilterwert")%>'/>
> </test:setwherespalte>
>
> -------------------------------------------------------------------------------------------------------------------------------------
> The tags are defined as followed:
>
> <?xml version="1.0" encoding="iso-8859-1"?>
> <!DOCTYPE taglib
> PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
> "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
>
> <!-- a tag library descriptor -->
> <taglib>
>
> <tlib-version>1.1</tlib-version>
> <jsp-version>1.2</jsp-version>
> <short-name>simple</short-name>
> <uri>/WEB-INF/classes/tlds/test.tld</uri>
> <description></description>
>
> <tag>
> <name>spalte</name>
> <tag-class>.tags.query.Spalte</tag-class>
> <body-content>JSP</body-content>
> <description></description>
> <attribute>
> <name>name</name>
> <required>true</required>
> <rtexprvalue>no</rtexprvalue>
> </attribute>
> <attribute>
> <name>wherespalte</name>
> <required>true</required>
> <rtexprvalue>true</rtexprvalue>
> </attribute>
> <attribute>
> <name>wert</name>
> <required>true</required>
> <rtexprvalue>true</rtexprvalue>
> </attribute>
> <attribute>
> <name>tabelle</name>
> <required>true</required>
> <rtexprvalue>tue</rtexprvalue>
> </attribute>
> </tag>
>
> <tag>
> <name>setwherespalte</name>
> <tag-class>cms.tags.query.SetWherespalte</tag-class>
> <body-content>JSP</body-content>
> <description></description>
> </tag>
>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------
> ... anf my java code looks like this:
>
>
> import javax.servlet.jsp.tagext.*;
> import javax.servlet.http.HttpSession;
> import javax.servlet.jsp.*;
> import java.io.*;
>
>
> public class Spalte extends BodyTagSupport{
>
> private String name = null;
> private String wherespalte = null;
> private String wert = null;
> private String tabelle = null;
>
> public void setTabelle(String tab){
> this.tabelle = tab;
> }
>
> public void setWert(String wert){
> this.wert = wert;
> }
>
> public void setWherespalte(String spalte){
> this.wherespalte = spalte;
> }
>
> public void setName(String name){
> this.name = name;
> }
>
> public int doStartTag()throws JspTagException{
> SetWherespalte parent = (SetWherespalte)findAncestorWithClass(this, SetWherespalte.class);
> if(parent == null){
> throw new JspTagException ("nesting error");
> }else{
> if(name.equalsIgnoreCase("id")){
> // do something
> }
> }
> return(this.EVAL_BODY_TAG);
> }
> }
>
>
>
> import javax.servlet.jsp.tagext.*;
> import javax.servlet.jsp.*;
> import javax.servlet.http.*;
> import java.io.*;
> import java.sql.ResultSet;
> import java.sql.ResultSetMetaData;
> import java.sql.SQLException;
> import de.eoa.sql.CCDB;
> import de.eoa.sql.CCException;
>
> /**
> * <p>Überschrift: </p>
> * <p>Beschreibung: </p>
> * <p>Copyright: Copyright (c) 2003</p>
> * <p>Organisation: eoa</p>
> * @author not attributable
> * @version 1.0
> */
>
> public class SetWherespalte extends TagSupport{
>
> private String[][] wherearray = null;
> private String[][] table = null;
> private String[][] tablefields = null;
> private String[][] subtablefields = null;
> private CCDB ccdb = null;
> private ResultSet rs = null;
> private ResultSetMetaData rsmd = null;
>
>
> public SetWherespalte(){
> this.wherearray = new String[1][3];
> HttpSession session = pageContext.getSession();
> this.setTablenames();
> this.getMainfields();
> this.getSubfields();
> }
>
> private void setTablenames(){ }
>
> private void getMainfields(){ }
>
> private void getSubfields(){}
> }
>
>
> -----------------------------------------------------------------------------------------------------------------------------------
> And here comes the Exception, that drives me nuts...
>
>
> HTTP Status 500 -
>
> _____
>
>
> type Exception report
>
> message
>
> description The server encountered an internal error () that prevented it from fulfilling this request.
>
> exception
> org.apache.jasper.JasperException
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
> at java.lang.Thread.run(Thread.java:536)
>
>
> root cause
> javax.servlet.ServletException
> at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:531)
> at org.apache.jsp.mitglieder_l_jsp._jspService(mitglieder_l_jsp.java:252)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
> at java.lang.Thread.run(Thread.java:536)
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-user-help@jakarta.apache.org