tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 22226] New: - Tomcat throws JasperException instead of NumberFormatException when parameter can't convert to bean property
Date Thu, 07 Aug 2003 17:48:39 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22226>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22226

Tomcat throws JasperException instead of NumberFormatException when parameter can't convert
to bean property

           Summary: Tomcat throws JasperException instead of
                    NumberFormatException when parameter can't convert to
                    bean property
           Product: Tomcat 4
           Version: 4.1.24
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Jasper
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: rnewman@thecia.net


Tomcat throws a JasperException instead of NumberFormatException when an input parameter 
can't be properly converted to a bean property.   This makes it impossible to write an application

portably, since it has to catch a Tomcat-specific exception.

My JSP:

--------
<jsp:useBean id="bean" class="test.TestBean">
  <jsp:setProperty name="bean" property="height"/>
</jsp:useBean>

<html>
<head><title>Bean Test</title></head>

<body>
<p>The height is <jsp:getProperty name="bean" property="height"/>.</p>
</body>

</html>

----------
My bean:

----------
package test;

public class TestBean {
   private int height;
   
   public void setHeight (int h) {height=h;}
   public int getHeight() {return height;}
}
--------

To test: invoke it with "?height=foo" .  You'll get:

org.apache.jasper.JasperException: For input string: "foo"
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:274)
        at org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:220)
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
        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)
...

root cause 

org.apache.jasper.JasperException: For input string: "foo"
        at org.apache.jasper.runtime.JspRuntimeLibrary.convert(JspRuntimeLibrary.java:185)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:268)
        at org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:220)
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
        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)
        ...

Mime
View raw message