Author: markt Date: Tue Jan 11 17:04:13 2011 New Revision: 1057730 URL: http://svn.apache.org/viewvc?rev=1057730&view=rev Log: Better handling of special case of javax.servlet.jsp.el.ScopedAttributeELResolver
Modified: tomcat/trunk/java/javax/el/CompositeELResolver.java Modified: tomcat/trunk/java/javax/el/CompositeELResolver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/CompositeELResolver.java?rev=1057730&r1=1057729&r2=1057730&view=diff ============================================================================== --- tomcat/trunk/java/javax/el/CompositeELResolver.java (original) +++ tomcat/trunk/java/javax/el/CompositeELResolver.java Tue Jan 11 17:04:13 2011 @@ -23,6 +23,18 @@ import java.util.NoSuchElementException; public class CompositeELResolver extends ELResolver { + private static final Class<?> SCOPED_ATTRIBUTE_EL_RESOLVER; + static { + Class<?> clazz = null; + try { + clazz = + Class.forName("javax.servlet.jsp.el.ScopedAttributeELResolver"); + } catch (ClassNotFoundException e) { + // Ignore. This is expected if using the EL stand-alone + } + SCOPED_ATTRIBUTE_EL_RESOLVER = clazz; + } + private int size; private ELResolver[] resolvers; @@ -118,10 +130,12 @@ public class CompositeELResolver extends for (int i = 0; i < sz; i++) { type = this.resolvers[i].getType(context, base, property); if (context.isPropertyResolved()) { - if (resolvers[i].getClass().getName().equals( - "javax.servlet.jsp.el.ScopedAttributeELResolver")) { - // Special case since this will always return Object.class - // for type + if (SCOPED_ATTRIBUTE_EL_RESOLVER != null && + SCOPED_ATTRIBUTE_EL_RESOLVER.isAssignableFrom( + resolvers[i].getClass())) { + // Special case since + // javax.servlet.jsp.el.ScopedAttributeELResolver will + // always return Object.class for type Object value = resolvers[i].getValue(context, base, property); if (value != null) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org