From: remm Date: Wed, 1 Nov 2006 12:56:33 +0000 (+0000) Subject: - Fix woops. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=3e8a988664a3c2651027459989416b943f714f6f;p=tomcat7.0 - Fix woops. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@469893 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/jasper/compiler/TagFileProcessor.java b/java/org/apache/jasper/compiler/TagFileProcessor.java index 1fac0ae38..2dae8707b 100644 --- a/java/org/apache/jasper/compiler/TagFileProcessor.java +++ b/java/org/apache/jasper/compiler/TagFileProcessor.java @@ -195,14 +195,18 @@ class TagFileProcessor { // JSP 2.1 Table JSP.8-3 // handle deferredValue and deferredValueType boolean deferredValue = false; + boolean deferredValueSpecified = false; String deferredValueString = n.getAttributeValue("deferredValue"); if (deferredValueString != null) { + deferredValueSpecified = true; deferredValue = JspUtil.booleanValue(deferredValueString); } String deferredValueType = n.getAttributeValue("deferredValueType"); if (deferredValueType != null) { - if (!deferredValue) { + if (deferredValueSpecified && !deferredValue) { err.jspError(n, "jsp.error.deferredvaluetypewithoutdeferredvalue"); + } else { + deferredValue = true; } } else if (deferredValue) { deferredValueType = "java.lang.Object"; @@ -213,15 +217,19 @@ class TagFileProcessor { // JSP 2.1 Table JSP.8-3 // handle deferredMethod and deferredMethodSignature boolean deferredMethod = false; + boolean deferredMethodSpecified = false; String deferredMethodString = n.getAttributeValue("deferredMethod"); if (deferredMethodString != null) { + deferredMethodSpecified = true; deferredMethod = JspUtil.booleanValue(deferredMethodString); } String deferredMethodSignature = n .getAttributeValue("deferredMethodSignature"); if (deferredMethodSignature != null) { - if (!deferredMethod) { + if (deferredMethodSpecified && !deferredMethod) { err.jspError(n, "jsp.error.deferredmethodsignaturewithoutdeferredmethod"); + } else { + deferredMethod = true; } } else if (deferredMethod) { deferredMethodSignature = "void methodname()";