You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2001/10/04 00:00:35 UTC

cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet JspServlet.java

kinman      01/10/03 15:00:35

  Modified:    jasper/src/share/org/apache/jasper/compiler Tag:
                        tomcat_40_branch JspParseEventListener.java
               jasper/src/share/org/apache/jasper/resources Tag:
                        tomcat_40_branch messages.properties
                        messages_ja.properties
               jasper/src/share/org/apache/jasper/servlet Tag:
                        tomcat_40_branch JspServlet.java
  Added:       jasper/src/share/org/apache/jasper Tag: tomcat_40_branch
                        JasperError.java
  Log:
  PR: 3667, 3669
  All messages from all validators in tag libraries are now displayed,
  without throwing an exception that causes the stack trace to be printed.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +0 -0      jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/JasperError.java
  
  Index: JasperError.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/JasperError.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.33.2.1  +21 -10    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.33
  retrieving revision 1.33.2.1
  diff -u -r1.33 -r1.33.2.1
  --- JspParseEventListener.java	2001/07/25 01:08:13	1.33
  +++ JspParseEventListener.java	2001/10/03 22:00:33	1.33.2.1
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v 1.33 2001/07/25 01:08:13 craigmcc Exp $
  - * $Revision: 1.33 $
  - * $Date: 2001/07/25 01:08:13 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v 1.33.2.1 2001/10/03 22:00:33 kinman Exp $
  + * $Revision: 1.33.2.1 $
  + * $Date: 2001/10/03 22:00:33 $
    *
    * ====================================================================
    *
  @@ -78,10 +78,10 @@
   import javax.servlet.jsp.tagext.TagLibraryInfo;
   import javax.servlet.jsp.tagext.ValidationMessage;
   
  +import org.apache.jasper.JasperError;
   import org.apache.jasper.JasperException;
   import org.apache.jasper.Constants;
   import org.apache.jasper.JspCompilationContext;
  -
   import org.apache.jasper.logging.Logger;
   
   import org.xml.sax.Attributes;
  @@ -1114,7 +1114,9 @@
        * libraries used by the document.
        */
       public void validate() throws JasperException {
  +	StringBuffer errMessage = new StringBuffer();
           Enumeration enum = libraries.getTagLibInfos();
  +        boolean hasErrors = false;
           while (enum.hasMoreElements()) {
               TagLibraryInfo tli = (TagLibraryInfo)enum.nextElement();
   	    //@@@ remove cast when TagLibraryInfo is fixed in spec
  @@ -1122,14 +1124,23 @@
   	    ValidationMessage[] errors =
   	      ((TagLibraryInfoImpl)tli).validate(xo.getPageData());
               if ((errors != null) && (errors.length != 0)) {
  -	        // for now just report the first error!
  -	        String msg = errors[0].getMessage();
  -                throw new JasperException(
  -		    Constants.getString(
  -                        "jsp.error.taglibraryvalidator.invalidpage",
  -			new Object[]{tli.getShortName(), msg}));
  +                hasErrors = true;
  +                errMessage.append("<h3>");
  +                errMessage.append(Constants.getString(
  +                       "jsp.error.taglibraryvalidator.invalidpage",
  +                       new Object[]{tli.getShortName()}));
  +                errMessage.append("</h3>");
  +                for (int i = 0; i < errors.length; i++) {
  +                    errMessage.append("<p>");
  +                    errMessage.append(errors[i].getId());
  +                    errMessage.append(": ");
  +                    errMessage.append(errors[i].getMessage());
  +                    errMessage.append("</p>");
  +                }
               }
           }
  +	if (hasErrors)
  +            throw new JasperError(errMessage.toString());
       }
   
       /**
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.20.2.1  +2 -2      jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties,v
  retrieving revision 1.20
  retrieving revision 1.20.2.1
  diff -u -r1.20 -r1.20.2.1
  --- messages.properties	2001/09/07 17:57:46	1.20
  +++ messages.properties	2001/10/03 22:00:34	1.20.2.1
  @@ -1,4 +1,4 @@
  -# $Id: messages.properties,v 1.20 2001/09/07 17:57:46 craigmcc Exp $
  +# $Id: messages.properties,v 1.20.2.1 2001/10/03 22:00:34 kinman Exp $
   #
   # Default localized string information
   # Localized this the Default Locale as is en_US
  @@ -213,7 +213,7 @@
   jspc.error.emptyWebApp=-webapp requires a trailing file argument
   jsp.error.library.invalid=JSP page is invalid according to library {0}: {1}
   jsp.warning.tlvclass.is.null=Could not load TagLibraryValidator class {0}: {1}
  -jsp.error.taglibraryvalidator.invalidpage=TagLibraryValidator in {0} library - invalid page: {1}
  +jsp.error.taglibraryvalidator.invalidpage=Validation error messages from tag library {0}
   jsp.parser.sax.propertynotsupported=SAX property not supported: {0}
   jsp.parser.sax.propertynotrecognized=SAX property not recognized: {0}
   jsp.parser.sax.featurenotsupported=SAX feature not supported: {0}
  
  
  
  1.2.2.1   +2 -2      jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages_ja.properties
  
  Index: messages_ja.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages_ja.properties,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- messages_ja.properties	2001/09/17 23:14:43	1.2
  +++ messages_ja.properties	2001/10/03 22:00:34	1.2.2.1
  @@ -1,4 +1,4 @@
  -# $Id: messages_ja.properties,v 1.2 2001/09/17 23:14:43 craigmcc Exp $
  +# $Id: messages_ja.properties,v 1.2.2.1 2001/10/03 22:00:34 kinman Exp $
   #
   # Default localized string information
   # Localized this the Default Locale as is ja_JP
  @@ -209,7 +209,7 @@
   jspc.error.emptyWebApp=-webapp\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
   jsp.error.library.invalid=\u30e9\u30a4\u30d6\u30e9\u30ea{0}\u306b\u5f93\u3046\u3068JSP\u30da\u30fc\u30b8\u306f\u7121\u52b9\u3067\u3059: {1}
   jsp.warning.tlvclass.is.null=TagLibraryValidator\u30af\u30e9\u30b9{0}\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093: {1}
  -jsp.error.taglibraryvalidator.invalidpage={0}\u30e9\u30a4\u30d6\u30e9\u30ea\u4e2d\u306eTagLibraryValidator - \u7121\u52b9\u306a\u30da\u30fc\u30b8: {1}
  +jsp.error.taglibraryvalidator.invalidpage=
   jsp.parser.sax.propertynotsupported=SAX\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093: {0}
   jsp.parser.sax.propertynotrecognized=SAX\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093: {0}
   jsp.parser.sax.featurenotsupported=SAX\u30d5\u30a3\u30fc\u30c1\u30e3\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093: {0}
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.21.2.1  +3 -0      jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet/JspServlet.java
  
  Index: JspServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet/JspServlet.java,v
  retrieving revision 1.21
  retrieving revision 1.21.2.1
  diff -u -r1.21 -r1.21.2.1
  --- JspServlet.java	2001/08/25 00:01:56	1.21
  +++ JspServlet.java	2001/10/03 22:00:34	1.21.2.1
  @@ -83,6 +83,7 @@
   import java.security.Policy;
   import java.security.PrivilegedAction;
   
  +import org.apache.jasper.JasperError;
   import org.apache.jasper.JasperException;
   import org.apache.jasper.Constants;
   import org.apache.jasper.Options;
  @@ -473,6 +474,8 @@
               serviceJspFile(request, response, jspUri, null, precompile);
   	} catch (RuntimeException e) {
   	    throw e;
  +        } catch (JasperError ex) {
  +            response.getWriter().print(ex.getMessage());
   	} catch (ServletException e) {
   	    throw e;
   	} catch (IOException e) {