diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/el/ELResolverImpl.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/el/ELResolverImpl.java index 0ba1a85b9..3555cb7eb 100644 --- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/el/ELResolverImpl.java +++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/el/ELResolverImpl.java @@ -18,6 +18,8 @@ */ package org.apache.struts2.jasper.el; +import java.util.Iterator; + import jakarta.el.ArrayELResolver; import jakarta.el.BeanELResolver; import jakarta.el.CompositeELResolver; @@ -131,6 +133,10 @@ public final class ELResolverImpl extends ELResolver { return DefaultResolver.isReadOnly(context, base, property); } + public Iterator getFeatureDescriptors(ELContext context, Object base) { + return DefaultResolver.getFeatureDescriptors(context, base); + } + public Class getCommonPropertyType(ELContext context, Object base) { if (base == null) { return String.class; diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspContextWrapper.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspContextWrapper.java index 3f1c9fad2..fdeec90a0 100644 --- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspContextWrapper.java +++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspContextWrapper.java @@ -26,9 +26,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import org.apache.struts2.jasper.compiler.Localizer; -import org.apache.struts2.jasper.util.Enumerator; - import jakarta.el.ELContext; import jakarta.servlet.Servlet; import jakarta.servlet.ServletConfig; @@ -41,10 +38,14 @@ import jakarta.servlet.jsp.JspContext; import jakarta.servlet.jsp.JspWriter; import jakarta.servlet.jsp.PageContext; import jakarta.servlet.jsp.el.ELException; +import jakarta.servlet.jsp.el.ExpressionEvaluator; import jakarta.servlet.jsp.el.VariableResolver; import jakarta.servlet.jsp.tagext.BodyContent; import jakarta.servlet.jsp.tagext.VariableInfo; +import org.apache.struts2.jasper.compiler.Localizer; +import org.apache.struts2.jasper.util.Enumerator; + /** * Implementation of a JSP Context Wrapper. * @@ -295,6 +296,10 @@ public class JspContextWrapper extends PageContext implements VariableResolver { return invokingJspCtxt.popBody(); } + public ExpressionEvaluator getExpressionEvaluator() { + return invokingJspCtxt.getExpressionEvaluator(); + } + public void handlePageException(Exception ex) throws IOException, ServletException { // Should never be called since handleException() called with a