pierred     00/12/08 16:36:11

  Modified:    jasper/src/share/org/apache/jasper/compiler
                        JspParseEventListener.java XmlOutputter.java
  Log:
  Added proper handling of <jsp:include> and <jsp:forward>
  tags when generating the XML stream for validation by tag
  libraries.
  
  Revision  Changes    Path
  1.17      +9 -5      
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java
  
  Index: JspParseEventListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- JspParseEventListener.java        2000/12/08 20:45:09     1.16
  +++ JspParseEventListener.java        2000/12/09 00:36:10     1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
 1.16 2000/12/08 20:45:09 pierred Exp $
  - * $Revision: 1.16 $
  - * $Date: 2000/12/08 20:45:09 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
 1.17 2000/12/09 00:36:10 pierred Exp $
  + * $Revision: 1.17 $
  + * $Date: 2000/12/09 00:36:10 $
    *
    * ====================================================================
    *
  @@ -952,7 +952,9 @@
                   new ForwardGenerator(start, attrs, param, isXml),
                   start, stop);
        addGenerator(gen);
  -     //@@@ xo
  +     xo.append("jsp:forward", attrs);
  +     xo.append("jsp:param", param);
  +     xo.append("jsp:forward");
       }
   
       public void handleInclude(Mark start, Mark stop, Attributes attrs, 
  @@ -971,7 +973,9 @@
                   new IncludeGenerator(start, attrs, param, isXml),
                   start, stop);
        addGenerator(gen);
  -     //@@@ xo
  +     xo.append("jsp:include", attrs);
  +     xo.append("jsp:param", param);
  +     xo.append("jsp:include");
       }
   
       public void handleCharData(Mark start, Mark stop, char[] chars) throws 
JasperException {
  
  
  
  1.6       +20 -3     
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java
  
  Index: XmlOutputter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XmlOutputter.java 2000/12/08 20:45:13     1.5
  +++ XmlOutputter.java 2000/12/09 00:36:10     1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java,v
 1.5 2000/12/08 20:45:13 pierred Exp $
  - * $Revision: 1.5 $
  - * $Date: 2000/12/08 20:45:13 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java,v
 1.6 2000/12/09 00:36:10 pierred Exp $
  + * $Revision: 1.6 $
  + * $Date: 2000/12/09 00:36:10 $
    *
    * ====================================================================
    *
  @@ -153,6 +153,23 @@
        */
       void append(String tag, Attributes attrs) {
           append(tag, attrs, sb);
  +    }
  +    
  +    /**
  +     * Append the start tag along with its attributes 
  +     * (name, value) to the XML stream.
  +     */
  +    void append(String tag, Hashtable table) {
  +     Enumeration enum = table.keys();
  +     while (enum.hasMoreElements()) {
  +         String name = (String)enum.nextElement();
  +         String value = ((String[])table.get(name))[0];
  +         AttributesImpl attrs = new AttributesImpl();
  +         attrs.addAttribute("", "name", "name", "CDATA", name);
  +         attrs.addAttribute("", "value", "value", "CDATA", value);
  +         append(tag, attrs, sb);
  +         append(tag);
  +     }
       }
       
       /**
  
  
  

Reply via email to