tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "L Rutker" <lrut...@hotmail.com>
Subject Re: <jsp:useBean /> Scope Bug in 4.01 !
Date Fri, 08 Feb 2002 17:31:19 GMT
Back to the basic question where in this code:
<% if (request.getParameter("type")!= null &&
     request.getParameter("type").equals("user")) { %>
     <jsp:useBean id="user" class="com.rutker.UsrData" scope="request"/>
<% } else if(request.getParameter("type")!= null &&
            request.getParameter("type").equals("group")) { %>
     <jsp:useBean id="group" class="com.rutker.GpData" scope="request"/>
<% } %>


is there am i "declaring the same ID twice"?

Thanks
Lou


>Hi,
>Can you explain what you mean by:
>
> >     "Duplicate ids found in the same translation unit
> >     shall result in a fatal translation error."
>
>What is duplicate? I am declaring 2 seperate beans based on the condition.
>Neither of them should be visible to the rest of the page. Yet they are
>visible to Tomcat. The
>

JSP follows the XML syntax rules, which look at the *static* content of
your document at compile time.  As it examines the incoming text, it
discovers that, in fact, you *are* declaring the same ID twice --
conditional execution is a runtime thing, not a compile-time thing.

Short answer -- "you can't do that".

>Lou

Craig


>From: "Craig R. McClanahan" <craigmcc@apache.org>
>Reply-To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
>To: Tomcat Users List <tomcat-user@jakarta.apache.org>
>Subject: Re: <jsp:useBean /> Scope Bug in 4.01 !
>Date: Fri, 1 Feb 2002 14:41:57 -0800 (PST)
>
>
>
>On Fri, 1 Feb 2002, L Rutker wrote:
>
> > Date: Fri, 01 Feb 2002 12:59:34 -0500
> > From: L Rutker <lrutker@hotmail.com>
> > Reply-To: Tomcat Users List <tomcat-user@jakarta.apache.org>
> > To: tomcat-user@jakarta.apache.org
> > Subject: <jsp:useBean /> Scope Bug in 4.01 !
> >
> > Hi,
> > The following is a bug I found using Tomcat 4.01 on NT4
> > The following code:
> >
> > <% if (request.getParameter("type")!= null &&
> > request.getParameter("type").equals("user")) { %>
> >     <jsp:useBean id="user" class="com.rutker.UsrData" scope="request"/>
> > <% } else if(request.getParameter("type")!= null &&
> > request.getParameter("type").equals("group")) { %>
> >     <jsp:useBean id="group" class="com.rutker.GpData" scope="request"/>
> > <% } %>
> >
> > should not be visible to the
> > <jsp:getProperty name="user" property="firstName" />  tag  farther down 
>the
> > page because the useBean tag was declared in the if block, yet the
> > jsp:getProperty tag can see it and works in Tomcat. I noticed the bug 
>when I
> > tried the above code on WL 6.1 on Linux and it didnt work. I think that 
>WL
> > has the proper implementation.
>
>I don't.  They are violating the JSP Specification if they support this.
>In the JSP 1.3 Specification, Section 4.1 (page 68), you will find the
>following statement:
>
>     "Duplicate ids found in the same translation unit
>     shall result in a fatal translation error."
>
>The fact that you are doing this inside scriptlet conditionals does not
>change the fact that you are using two <jsp:useBean> elements with the
>same "id" attribute in the same page.
>
> > Is this the correct mailing list for this post?
>
>The best place to report bugs is in the bug tracking system:
>
>   http://nagoya.apache.org/bugzilla/
>
>
> > Thanks
> > Lou R.
> >
>
>Craig McClanahan
>
>
>--
>To unsubscribe:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
>For additional commands: <mailto:tomcat-user-help@jakarta.apache.org>
>Troubles with the list: <mailto:tomcat-user-owner@jakarta.apache.org>
>


_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands: <mailto:tomcat-user-help@jakarta.apache.org>
Troubles with the list: <mailto:tomcat-user-owner@jakarta.apache.org>


Mime
View raw message