Bug 39438 - VariableResolver in PageContext is not used by JSTL core tags
Summary: VariableResolver in PageContext is not used by JSTL core tags
Alias: None
Product: Taglibs
Classification: Unclassified
Component: Standard Taglib (show other bugs)
Version: 1.1.0
Hardware: All other
: P3 enhancement (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
Depends on:
Reported: 2006-04-27 23:53 UTC by Liuyong Chen
Modified: 2007-03-14 16:40 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
Description Liuyong Chen 2006-04-27 23:53:11 UTC
As definded in javax.servlet.jsp.JspContext in J2EE 1.4, getVariableResolver()
is an abstract method and this provides an opportunity for a custom tag to use
the standard JSTL evaluation with a custom VariableResolver. But the standard
JSTL (standard-110_13) is not using the VariableResolver provided by
getVariableResolver() in the subclass of JspContext. 

In standard-110_13, when
is called, it delegates the call to
org.apache.taglibs.standard.lang.jstl.Evaluator::evaluate(). The
Evaluator::evaluate() then uses ELEvaluator::evaluate() to evaluate the
expression. But ELEvaluator is always constructed with JSTLVariableResolver and
ignores the VariableResolver in PageContext. As the API definition of JspContext
in J2EE 1.4, the getVariableResolver() is an abstract method and the custom tag
is allowed to provide the custom PagaContext and then the custom
VariableResolver. So the custom tag can still use the standard JSTL Evaluator
but with the custom VariableResolver. Is there any reason why the custom
VariableResolver in PageContext is not used in the standard JSTL ELEvaluator?
Comment 1 Henri Yandell 2007-03-14 16:40:57 UTC
As the Standard taglib is in maintenance mode, I'm marking this enhancement as
WONTFIX and passing it along to the Glassfish reference implementation: