Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 82147 invoked from network); 27 Jun 2002 03:38:57 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by 209.66.108.5 with SMTP; 27 Jun 2002 03:38:57 -0000 Received: (qmail 28950 invoked by uid 97); 27 Jun 2002 03:39:00 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 28934 invoked by uid 97); 27 Jun 2002 03:38:59 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 28922 invoked by uid 98); 27 Jun 2002 03:38:59 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) X-Authentication-Warning: costinm.sfo.covalent.net: costin owned process doing -bs Date: Wed, 26 Jun 2002 20:37:55 -0700 (PDT) From: costinm@covalent.net X-X-Sender: costin@costinm.sfo.covalent.net To: Tomcat Developers List , Kin-Man Chung Subject: Re: Jasper2: serious problem with tag declarations In-Reply-To: <0GYC00JT89QX8F@mpkmail.eng.sun.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: 209.66.108.5 1.6.2 0/1000/N X-Spam-Rating: 209.66.108.5 1.6.2 0/1000/N On Wed, 26 Jun 2002, Kin-Man Chung wrote: > That's true, but the value of those variables are still synchronized > with the corresponding pageContext attributes at the locations > specified by the spec, so using these variables before they are > synchronized is meaningless. > > The spec as is today really cannot be implemented correctly in Java. > What we are doing is let pages that conform to the spec > (e.g. referencing an AT_END variable after end of tag) be compiled > and run correctly, but does not prevent people from writing page that > is not spec conformant (e.g. referencing an AT_END variables in the > body). What if the type of the variable is not Object ? Then any valid variable with that name and NESTED scope will no longer work. The current solution is very counter-intuitive and against very common patterns in programming ( since the 'block' is usually limiting the scope of a variable). If the spec is unclear or broken, the behavior of jasper1 should be preserved. Maybe someone could take a look at other jsp implementations ( resin, etc ) and see how they deal with AT_END. If all are consistently doing what jasper1 is - i.e. declare it after the tag, with the implicit limit on visibility of the embedding tags - then the spec should be clarified / fixed. No spec is perfect - and if the price of implementing this 'corectly' is braking compatibility and having a different behavior on different containers - maybe it's not worth it. I think declaring the AT_END variables at the beginning is not a very good idea. Costin -- To unsubscribe, e-mail: For additional commands, e-mail: