From 3e8a988664a3c2651027459989416b943f714f6f Mon Sep 17 00:00:00 2001 From: remm Date: Wed, 1 Nov 2006 12:56:33 +0000 Subject: [PATCH] - Fix woops. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@469893 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/jasper/compiler/TagFileProcessor.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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()"; -- 2.11.0