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) {