Index: org/apache/jasper/compiler/Generator.java =================================================================== --- org/apache/jasper/compiler/Generator.java (revision 1416791) +++ org/apache/jasper/compiler/Generator.java (working copy) @@ -124,6 +124,8 @@ private GenBuffer charArrayBuffer; private final DateFormat timestampFormat; + + private ELInterpreter elInterpreter; /** * @param s @@ -831,7 +833,7 @@ } return v; } else if (attr.isELInterpreterInput()) { - v = JspUtil.interpreterCall(this.isTagFile, v, expectedType, + v = elInterpreter.interpreterCall(ctxt, this.isTagFile, v, expectedType, attr.getEL().getMapName(), false); if (encode) { return "org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode(" @@ -917,7 +919,7 @@ n.setBeginJavaLine(out.getJavaLine()); if (!pageInfo.isELIgnored() && (n.getEL() != null)) { out.printil("out.write(" - + JspUtil.interpreterCall(this.isTagFile, n.getType() + + + elInterpreter.interpreterCall(ctxt, this.isTagFile, n.getType() + "{" + n.getText() + "}", String.class, n.getEL().getMapName(), false) + ");"); } else { @@ -2977,7 +2979,7 @@ // run attrValue through the expression interpreter String mapName = (attr.getEL() != null) ? attr.getEL() .getMapName() : null; - attrValue = JspUtil.interpreterCall(this.isTagFile, attrValue, + attrValue = elInterpreter.interpreterCall(ctxt, this.isTagFile, attrValue, c[0], mapName, false); } } else { @@ -3424,7 +3426,8 @@ ctxt = compiler.getCompilationContext(); fragmentHelperClass = new FragmentHelperClass("Helper"); pageInfo = compiler.getPageInfo(); - + elInterpreter = ELInterpreterFactory.getELInterpreter(compiler.getCompilationContext().getServletContext()); + /* * Temporary hack. If a JSP page uses the "extends" attribute of the * page directive, the _jspInit() method of the generated servlet class