jakarta-taglibs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 27717] - <x:forEach> very slow in JSTL 1.1
Date Mon, 07 Jan 2008 07:15:03 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=27717>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=27717





------- Additional Comments From bayard@apache.org  2008-01-06 23:15 -------
The src/org/apache/taglibs/standard/tag/common/xml/ForEachTag.java class needs
to cache its XPathUtil object in setAttribute (default page scope), and tell
XPathUtil to use CachedJSTLXPathAPI rather than JSTLXPathAPI.

Additionally, XPathUtil needs that change, and a CachedJSTLXPathAPI needs to
exist that includes all the changes that JSTLXPathAPI has had from Xalan's XPathAPI.

ExprSupport needs to be changed to (somehow) find the XPathUtil and use it
instead of making a new one. Presumably this can be attached to the forEach's
var attribute (and whatever system is used to handle nested var's with the same
name (such as default name).

---

Maybe. I think the problem with all that is that x:foreach is supplying a new
node each time around. We need to cache the original node, and adjust the x:out
by appending(?) it to the x:foreach pattern each time. That all seems very dodgy.

CachedXPathAPI says that:  "A faster way is to precompile the XPaths using the
low-level API, and then just use the XPaths over and over". That sounds quite
attractive - each x:out could precompile an XPath and run it on its node. The
pain there is figuring out how to use the low level XPath API.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-dev-help@jakarta.apache.org


Mime
View raw message