You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2003/02/07 03:51:33 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java

kinman      2003/02/06 18:51:32

  Modified:    jasper2/src/share/org/apache/jasper/runtime
                        JspContextWrapper.java
  Log:
  - Fix 16865: JspContextWrapper needs its own variableResolver
  
  Revision  Changes    Path
  1.14      +13 -11    jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
  
  Index: JspContextWrapper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- JspContextWrapper.java	28 Jan 2003 22:06:28 -0000	1.13
  +++ JspContextWrapper.java	7 Feb 2003 02:51:32 -0000	1.14
  @@ -87,6 +87,7 @@
   import javax.servlet.jsp.el.ELException;
   import javax.servlet.jsp.el.ExpressionEvaluator;
   import javax.servlet.jsp.el.VariableResolver;
  +import org.apache.commons.el.VariableResolverImpl;
   
   /**
    * Implementation of a JSP Context Wrapper.
  @@ -120,6 +121,12 @@
   
       private Hashtable originalNestedVars;
   
  +    /**
  +     * The variable resolver, for evaluating EL expressions.
  +     */
  +    private VariableResolverImpl variableResolver
  +        = new VariableResolverImpl(this);
  +
       public JspContextWrapper(JspContext jspContext, ArrayList nestedVars,
   			     ArrayList atBeginVars, ArrayList atEndVars,
   			     Map aliases) {
  @@ -272,7 +279,7 @@
       }
   
       public VariableResolver getVariableResolver() {
  -	return null; // XXX
  +	return this;
       }
   
       public BodyContent pushBody() {
  @@ -308,14 +315,9 @@
       /**
        * VariableResolver interface
        */
  -    public Object resolveVariable( String pName )
  -        throws ELException
  +    public Object resolveVariable( String pName ) throws ELException
       {
  -	if (invokingJspCtxt instanceof PageContextImpl) {
  -	    return ((PageContextImpl) invokingJspCtxt).resolveVariable(pName);
  -	}
  -
  -	return ((JspContextWrapper) invokingJspCtxt).resolveVariable(pName);
  +        return variableResolver.resolveVariable(pName);
       }
   
       /**
  
  
  

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