From aee0b71f5534d88a68f195f105d76d889e0ae86f Mon Sep 17 00:00:00 2001 From: remm Date: Wed, 1 Nov 2006 12:42:53 +0000 Subject: [PATCH] - Check for some of the errors. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@469890 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/jasper/compiler/TagFileProcessor.java | 12 ++++++++++-- java/org/apache/jasper/resources/LocalStrings.properties | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/TagFileProcessor.java b/java/org/apache/jasper/compiler/TagFileProcessor.java index c048bd3cc..1fac0ae38 100644 --- a/java/org/apache/jasper/compiler/TagFileProcessor.java +++ b/java/org/apache/jasper/compiler/TagFileProcessor.java @@ -201,7 +201,9 @@ class TagFileProcessor { } String deferredValueType = n.getAttributeValue("deferredValueType"); if (deferredValueType != null) { - deferredValue = true; + if (!deferredValue) { + err.jspError(n, "jsp.error.deferredvaluetypewithoutdeferredvalue"); + } } else if (deferredValue) { deferredValueType = "java.lang.Object"; } else { @@ -218,11 +220,17 @@ class TagFileProcessor { String deferredMethodSignature = n .getAttributeValue("deferredMethodSignature"); if (deferredMethodSignature != null) { - deferredMethod = true; + if (!deferredMethod) { + err.jspError(n, "jsp.error.deferredmethodsignaturewithoutdeferredmethod"); + } } else if (deferredMethod) { deferredMethodSignature = "void methodname()"; } + if (deferredMethod && deferredValue) { + err.jspError(n, "jsp.error.deferredmethodandvalue"); + } + String attrName = n.getAttributeValue("name"); boolean required = JspUtil.booleanValue(n .getAttributeValue("required")); diff --git a/java/org/apache/jasper/resources/LocalStrings.properties b/java/org/apache/jasper/resources/LocalStrings.properties index 94e7b5ac1..af9d977ab 100644 --- a/java/org/apache/jasper/resources/LocalStrings.properties +++ b/java/org/apache/jasper/resources/LocalStrings.properties @@ -325,6 +325,9 @@ jsp.error.attribute.noequal=equal symbol expected jsp.error.attribute.noquote=quote symbol expected jsp.error.attribute.unterminated=attribute for {0} is not properly terminated jsp.error.missing.tagInfo=TagInfo object for {0} is missing from TLD +jsp.error.deferredmethodsignaturewithoutdeferredmethod=Cannot specify a method signature if 'deferredMethod' is not 'true' +jsp.error.deferredvaluetypewithoutdeferredvalue=Cannot specify a value type if 'deferredValue' is not 'true' +jsp.error.deferredmethodandvalue='deferredValue' and 'deferredMethod' cannot be both 'true' jsp.error.fragmentwithtype=Cannot specify both 'fragment' and 'type' attributes. If 'fragment' is present, 'type' is fixed as 'javax.servlet.jsp.tagext.JspFragment' jsp.error.fragmentwithrtexprvalue=Cannot specify both 'fragment' and 'rtexprvalue' attributes. If 'fragment' is present, 'rtexprvalue' is fixed as 'true' jsp.error.fragmentWithDeclareOrScope=Both 'fragment' and 'declare' or 'scope' attributes specified in variable directive -- 2.11.0