On Sun, 13 Jan 2002, Alice K wrote: > The EA3 does not work on Resin 2.0 and over. The EA1 is working > correctly.
Okay - I finally got a chance to look at this problem closely. The issue is, as I suspected all along, a bug in Resin. However, I didn't, in my wildest dreams, guess what the actual Resin bug would be. In fact, I thought the problem would result from a simple failure to detect IterationTag and test for doAfterBody(). Indeed, on first glance, this looked like the culprit, for the Java code that Resin generated didn't include any iterative construct (e.g., a "do ... while" or "while" loop) for <c:forEach>. However, not being able to replicate the problem with a simple, non-JSTL class, I tracked the issue to its source: a method in Resin's JSP translator that determines, for standard methods like doAfterBody(), whether the implementing class is part of the "javax.servlet.jsp" package. Thus, in short, we fail because we're a standard! :-) (In case you're interested, Resin uses this information -- wildly erroneously, in my opinion! -- as a heuristic in order to determine whether the tag handler at hand implemented or inherited a method. In my opinion, Resin shouldn't rely on this information in the first place; it uses the concept of a "default" tag-extension API method, which it really ought not need to use. But putting that point of design philosophy aside, the important bug is that Resin acquires this information in a problematic way: based on the package name of the declaring class.) I've submitted a bug report to the Resin folks. Thanks to everyone who raised this issue here. Shawn -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>