You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pi...@locus.apache.org on 2000/10/18 00:59:02 UTC
cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler TagBeginGenerator.java TagEndGenerator.java
pierred 00/10/17 15:59:01
Modified: jasper/src/share/org/apache/jasper/compiler
TagBeginGenerator.java TagEndGenerator.java
Log:
Support for new JSP1.2 feature:
New IteratorTag interface to support iteration without BodyContent
TagBeginGenerator
- The return value of doStartTag() is now checked against EVAL_BODY_BUFFERED
instead of EVAL_BODY_TAG.
EVAL_BODY_TAG is deprecated, and both have the same integer value
so we only check against EVAL_BODY_BUFFERED.
TagEndGenerator
- doAfterBody() is now called if tag is an instance of IteratorTag (instead
of if it is an instance of BodyTag)
- The return value of doAfterBody() is now checked against EVAL_BODY_AGAIN
instead of EVAL_BODY_TAG.
EVAL_BODY_TAG is deprecated, and both have the same integer value
so we only check against EVAL_BODY_AGAIN.
Revision Changes Path
1.5 +1 -1 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagBeginGenerator.java
Index: TagBeginGenerator.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagBeginGenerator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TagBeginGenerator.java 2000/10/11 19:35:17 1.4
+++ TagBeginGenerator.java 2000/10/17 22:59:01 1.5
@@ -347,7 +347,7 @@
" implements BodyTag, it can't return Tag.EVAL_BODY_INCLUDE\");");
writer.popIndent();
} else {
- writer.println("if ("+evalVar+" == BodyTag.EVAL_BODY_TAG)");
+ writer.println("if ("+evalVar+" == BodyTag.EVAL_BODY_BUFFERED)");
writer.pushIndent();
writer.println("throw new JspTagException(\"Since tag handler "+tc.getTagHandlerClass()+
" does not implement BodyTag, it can't return BodyTag.EVAL_BODY_TAG\");");
1.3 +7 -3 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagEndGenerator.java
Index: TagEndGenerator.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagEndGenerator.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TagEndGenerator.java 2000/10/11 19:35:18 1.2
+++ TagEndGenerator.java 2000/10/17 22:59:01 1.3
@@ -63,6 +63,7 @@
import javax.servlet.jsp.tagext.VariableInfo;
import javax.servlet.jsp.tagext.TagData;
import javax.servlet.jsp.tagext.Tag;
+import javax.servlet.jsp.tagext.IterationTag;
import javax.servlet.jsp.tagext.BodyTag;
import org.xml.sax.Attributes;
@@ -108,12 +109,15 @@
Class tagHandlerClass =
libraries.getTagCache(prefix, shortTagName).getTagHandlerClass();
- boolean implementsBodyTag = BodyTag.class.isAssignableFrom(tagHandlerClass);
+ boolean implementsIterationTag =
+ IterationTag.class.isAssignableFrom(tagHandlerClass);
+ boolean implementsBodyTag =
+ BodyTag.class.isAssignableFrom(tagHandlerClass);
writer.popIndent();
- if (implementsBodyTag)
- writer.println("} while ("+thVarName+".doAfterBody() == BodyTag.EVAL_BODY_TAG);");
+ if (implementsIterationTag)
+ writer.println("} while ("+thVarName+".doAfterBody() == BodyTag.EVAL_BODY_AGAIN);");
else
writer.println("} while (false);");