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)) {