Author: remm Date: Wed Oct 4 14:02:16 2006 New Revision: 453023 URL: http://svn.apache.org/viewvc?view=rev&rev=453023 Log: - Fix non deferred attributes evaluation. - Headache inducing patch submitted by Stan Silvert.
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java?view=diff&rev=453023&r1=453022&r2=453023 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java Wed Oct 4 14:02:16 2006 @@ -2817,6 +2817,24 @@ sb.append(','); sb.append(returnType); sb.append("))"); + // should the expression be evaluated before passing to + // the setter? + boolean evaluate = false; + if (tai.canBeRequestTime()) { + evaluate = true; // JSP.2.3.2 + } + if (attr.isDeferredInput()) { + evaluate = false; // JSP.2.3.3 + } + if (attr.isDeferredInput() && tai.canBeRequestTime()) { + evaluate = !attrValue.contains("#{"); // JSP.2.3.5 + } + if (evaluate) { + sb.append(".getValue("); + sb.append(getJspContextVar()); + sb.append(".getELContext()"); + sb.append(")"); + } attrValue = sb.toString(); } else if (attr.isDeferredMethodInput() || MethodExpression.class.getName().equals(type)) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]