luehe 2002/07/24 12:58:57 Modified: jasper2/src/share/org/apache/jasper/resources messages.properties jasper2/src/share/org/apache/jasper/compiler JspDocumentParser.java ErrorDispatcher.java DefaultErrorHandler.java Log: added error message for jsp.error.parse.xml.scripting.invalid.body error code + fixed NPE in ErrorDispatcher Revision Changes Path 1.13 +2 -1 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties Index: messages.properties =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- messages.properties 22 Jul 2002 20:35:27 -0000 1.12 +++ messages.properties 24 Jul 2002 19:58:57 -0000 1.13 @@ -231,6 +231,7 @@ jsp.error.no.more.content=End of content reached while more parsing required: tag nesting error? jsp.error.parse.xml=XML parsing error on file {0}: {1} jsp.error.parse.xml.line=XML parsing error on file {0}: (line {1}, col {2}): {3} +jsp.error.parse.xml.scripting.invalid.body=Body of {0} element must not contain any XML elements jsp.error.internal.tldinit=Exception initializing TldLocationsCache: {0} jsp.error.internal.filenotfound=Internal Error: File {0} not found jsp.error.internal.evaluator_not_found=Internal error: unable to load expression evaluator 1.8 +15 -7 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java Index: JspDocumentParser.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- JspDocumentParser.java 22 Jul 2002 23:02:55 -0000 1.7 +++ JspDocumentParser.java 24 Jul 2002 19:58:57 -0000 1.8 @@ -314,7 +314,7 @@ } if (current instanceof Node.ScriptingElement) { - checkScriptingBody(current.getBody()); + checkScriptingBody((Node.ScriptingElement) current); } if (current.getParent() != null) { @@ -495,18 +495,26 @@ * Ensures that the given body only contains nodes that are instances of * TemplateText. * - * This check is performed only for the body of a scripting (that is, a + * This check is performed only for the body of a scripting (that is: * declaration, scriptlet, or expression) element, after the end tag of a * scripting element has been reached. */ - private void checkScriptingBody(Node.Nodes body) throws SAXException { + private void checkScriptingBody(Node.ScriptingElement scriptingElem) + throws SAXException { + Node.Nodes body = scriptingElem.getBody(); if (body != null) { int size = body.size(); for (int i=0; i<size; i++) { Node n = body.getNode(i); if (!(n instanceof Node.TemplateText)) { + String elemType = TagConstants.JSP_SCRIPTLET; + if (scriptingElem instanceof Node.Declaration) + elemType = TagConstants.JSP_DECLARATION; + if (scriptingElem instanceof Node.Expression) + elemType = TagConstants.JSP_EXPRESSION; String msg = err.getString( - "jsp.error.parse.xml.scripting.invalid.body"); + "jsp.error.parse.xml.scripting.invalid.body", + elemType); throw new SAXException(msg); } } 1.3 +10 -5 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java Index: ErrorDispatcher.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ErrorDispatcher.java 15 May 2002 20:42:03 -0000 1.2 +++ ErrorDispatcher.java 24 Jul 2002 19:58:57 -0000 1.3 @@ -391,11 +391,15 @@ private void dispatch(Mark where, String errCode, Object[] args, Exception e) throws JasperException { String file = null; + String errMsg = null; int line = -1; int column = -1; // Localize - String errMsg = getString(errCode, args); + + if (errCode != null) { + errMsg = getString(errCode, args); + } // Get error location if (where != null) { @@ -410,7 +414,8 @@ // Get nested exception Exception nestedEx = e; - if (e instanceof SAXException) { + if ((e instanceof SAXException) + && (((SAXException) e).getException() != null)) { nestedEx = ((SAXException) e).getException(); } 1.2 +11 -6 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java Index: DefaultErrorHandler.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DefaultErrorHandler.java 28 Mar 2002 18:46:18 -0000 1.1 +++ DefaultErrorHandler.java 24 Jul 2002 19:58:57 -0000 1.2 @@ -90,9 +90,14 @@ * @param exception Parse exception */ public void jspError(String fname, int line, int column, String errMsg, - Exception exception) throws JasperException { - throw new JasperException(fname + "(" + line + "," + column + ")" - + " " + errMsg); + Exception ex) throws JasperException { + if (errMsg != null) { + throw new JasperException(fname + "(" + line + "," + column + ")" + + " " + errMsg); + } else { + throw new JasperException(fname + "(" + line + "," + column + ")" + + " " + ex.getMessage()); + } } /*
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>