luehe       2002/12/16 08:13:28

  Modified:    jasper2/src/share/org/apache/jasper/compiler Generator.java
                        Node.java Parser.java
  Log:
  Fixed 15364: The jsp:body action doesn't work as expected when used with the 
jsp:fallback action.
  
  Revision  Changes    Path
  1.142     +5 -12     
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.141
  retrieving revision 1.142
  diff -u -r1.141 -r1.142
  --- Generator.java    12 Dec 2002 23:31:51 -0000      1.141
  +++ Generator.java    16 Dec 2002 16:13:28 -0000      1.142
  @@ -1458,15 +1458,8 @@
             * Fallback
             */
            if (n.getBody() != null) {
  -             n.getBody().visit(new Node.Visitor() {
  -                 public void visit(Node.FallBackAction n) {
  -                     n.setBeginJavaLine(out.getJavaLine());
  -                     out.printil("out.write(" +
  -                                 quote(new String(n.getText())) + ");");
  -                     out.printil("out.write(\"\\n\");");
  -                     n.setEndJavaLine(out.getJavaLine());
  -                 }
  -             });
  +             visitBody(n);
  +             out.printil("out.write(\"\\n\");");
            }
   
            out.printil("out.write(" + quote("</NOEMBED></EMBED>") + ");");
  
  
  
  1.49      +5 -5      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java
  
  Index: Node.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- Node.java 13 Dec 2002 18:06:08 -0000      1.48
  +++ Node.java 16 Dec 2002 16:13:28 -0000      1.49
  @@ -682,8 +682,8 @@
        */
       public static class FallBackAction extends Node {
   
  -     public FallBackAction(Mark start, String text, Node parent) {
  -         super(text, start, parent);
  +     public FallBackAction(Mark start, Node parent) {
  +         super(start, parent);
        }
   
        public void accept(Visitor v) throws JasperException {
  
  
  
  1.47      +7 -20     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- Parser.java       13 Dec 2002 15:44:39 -0000      1.46
  +++ Parser.java       16 Dec 2002 16:13:28 -0000      1.47
  @@ -1090,23 +1090,10 @@
        *                )
        */
       private void parseFallBack(Node parent) throws JasperException {
  -        if( reader.matches( "/>" ) ) {
  -            // No elements, don't create node.
  -        }
  -        else if( reader.matches( ">" ) ) {
  -            Mark bodyStart = reader.mark();
  -            Mark bodyEnd = reader.skipUntilETag("jsp:fallback");
  -            if (bodyEnd == null) {
  -                err.jspError(start, "jsp.error.unterminated", 
  -                    "&lt;jsp:fallback");
  -            }
  -            new Node.FallBackAction(start, reader.getText(bodyStart, bodyEnd),
  -                                 parent);
  -        }
  -        else {
  -            err.jspError( reader.mark(), "jsp.error.unterminated",
  -                "&lt;jsp:fallback" );
  -        }
  +     Mark bodyStart = reader.mark();
  +     Node fallBackNode = new Node.FallBackAction(start, parent);
  +     parseOptionalBody(fallBackNode, "jsp:fallback", 
  +                       JAVAX_BODY_CONTENT_TEMPLATE_TEXT);
       }
   
       /*
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to