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=26444>.
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=26444

jsp:useBean invokes operator new while it should not

           Summary: jsp:useBean invokes operator new while it should not
           Product: Tomcat 5
           Version: 5.0.18
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Jasper
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


According to JSP 2.0 specs, section 5.1, items 6 to 7,
if jsp:useBean is called for an object that cannot be
found in the appropriate context, yet the 'class' attribute
of jsp:useBean names a class without a no-args constructor,
then

 - an exception is raised (because the object cannot be
   found, and there is no way to construct it)

 - but no constructor should be invoked


Instead, in Tomcat 5.0.18, the no-args constructor (which
does not exist) is invoked in this case.

This is annoying, because in the Jasper-generated code
the call to the  nonexistent constructor is present, and
breaks compilation. As a result, the JSP file never works,
as opposed to only throwing an exception if the object
is actually missing.


Example class:



package net.witbe.layout;
public class Skubi {
    public Skubi(int i) {
    }
}



Example JSP file that does not compile:


<%@ page language="java" %>
<jsp:useBean id="skubi" class="net.witbe.layout.Skubi" />

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to