luehe 2002/08/26 16:47:47
Modified: jasper2/src/share/org/apache/jasper/compiler Generator.java
Log:
Fixed 11942: reassignment of variables to pagecontext attributes in body loop
Fixed 11552: Iteration tags do not resynchronize scripting variables after
doAfterBody()
Revision Changes Path
1.80 +27 -29
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
Index: Generator.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- Generator.java 24 Aug 2002 21:42:34 -0000 1.79
+++ Generator.java 26 Aug 2002 23:47:47 -0000 1.80
@@ -1999,7 +1999,7 @@
out.print(tagHandlerVar);
out.println(".doStartTag();");
- if (!n.implementsBodyTag()) {
+ if (!n.implementsIterationTag()) {
// Synchronize AT_BEGIN scripting variables
syncScriptingVars(n, VariableInfo.AT_BEGIN);
// Declare and synchronize NESTED scripting variables
@@ -2013,30 +2013,30 @@
out.println(" != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {");
out.pushIndent();
- if (n.implementsBodyTag()) {
+ if (n.implementsIterationTag()) {
// Declare NESTED scripting variables
declareScriptingVars(n, VariableInfo.NESTED);
- out.printin("if (");
- out.print(tagEvalVar);
- out.println(" != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
{");
- // Assume EVAL_BODY_BUFFERED
- out.pushIndent();
- out.printil("out = pageContext.pushBody();");
- out.printin(tagHandlerVar);
-
out.println(".setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);");
- out.printin(tagHandlerVar);
- out.println(".doInitBody();");
-
- // Synchronize AT_BEGIN and NESTED scripting variables
- syncScriptingVars(n, VariableInfo.AT_BEGIN);
- syncScriptingVars(n, VariableInfo.NESTED);
-
- out.popIndent();
- out.printil("}");
- }
-
- if (n.implementsIterationTag()) {
+ if (n.implementsBodyTag()) {
+ out.printin("if (");
+ out.print(tagEvalVar);
+ out.println(" !=
javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {");
+ // Assume EVAL_BODY_BUFFERED
+ out.pushIndent();
+ out.printil("out = pageContext.pushBody();");
+ out.printin(tagHandlerVar);
+
out.println(".setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);");
+ out.printin(tagHandlerVar);
+ out.println(".doInitBody();");
+
+ // Synchronize AT_BEGIN and NESTED scripting variables
+ syncScriptingVars(n, VariableInfo.AT_BEGIN);
+ syncScriptingVars(n, VariableInfo.NESTED);
+
+ out.popIndent();
+ out.printil("}");
+ }
+
out.printil("do {");
out.pushIndent();
}
@@ -2056,10 +2056,8 @@
out.println(".doAfterBody();");
// Synchronize AT_BEGIN and NESTED scripting variables
- if (n.implementsBodyTag()) {
- syncScriptingVars(n, VariableInfo.AT_BEGIN);
- syncScriptingVars(n, VariableInfo.NESTED);
- }
+ syncScriptingVars(n, VariableInfo.AT_BEGIN);
+ syncScriptingVars(n, VariableInfo.NESTED);
out.printil("if (evalDoAfterBody !=
javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)");
out.pushIndent();
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>