From: markt Date: Tue, 28 Sep 2010 17:23:05 +0000 (+0000) Subject: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49665 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=c7074ac05b0b2ddbeb230cf30187679d49c33b3a;p=tomcat7.0 Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49665 Better handling for missing TLD files. Report JSP filename and location. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1002274 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/jasper/compiler/Generator.java b/java/org/apache/jasper/compiler/Generator.java index 8b25f5e09..8e0ac8488 100644 --- a/java/org/apache/jasper/compiler/Generator.java +++ b/java/org/apache/jasper/compiler/Generator.java @@ -1079,8 +1079,10 @@ class Generator { + property + "\")));"); } else { - StringBuilder msg = - new StringBuilder("jsp:getProperty for bean with name '"); + StringBuilder msg = new StringBuilder(); + msg.append("file:"); + msg.append(n.getStart()); + msg.append(" jsp:getProperty for bean with name '"); msg.append(name); msg.append( "'. Name was not previously introduced as per JSP.5.3"); diff --git a/java/org/apache/jasper/compiler/JspDocumentParser.java b/java/org/apache/jasper/compiler/JspDocumentParser.java index 6b88cf789..9faa07e50 100644 --- a/java/org/apache/jasper/compiler/JspDocumentParser.java +++ b/java/org/apache/jasper/compiler/JspDocumentParser.java @@ -1290,7 +1290,8 @@ class JspDocumentParser prefix, uri, location, - err); + err, + null); if (ctxt.getOptions().isCaching()) { ctxt.getOptions().getCache().put(uri, result); } diff --git a/java/org/apache/jasper/compiler/Parser.java b/java/org/apache/jasper/compiler/Parser.java index 612fb5512..fc30d333b 100644 --- a/java/org/apache/jasper/compiler/Parser.java +++ b/java/org/apache/jasper/compiler/Parser.java @@ -385,7 +385,8 @@ class Parser implements TagConstants { if (impl == null) { TldLocation location = ctxt.getTldLocation(uri); impl = new TagLibraryInfoImpl(ctxt, parserController, - pageInfo, prefix, uri, location, err); + pageInfo, prefix, uri, location, err, + reader.mark()); if (ctxt.getOptions().isCaching()) { ctxt.getOptions().getCache().put(uri, impl); } diff --git a/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java b/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java index 20a8900cf..539629912 100644 --- a/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java +++ b/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java @@ -134,8 +134,9 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { /** * Constructor. */ - public TagLibraryInfoImpl(JspCompilationContext ctxt, ParserController pc, PageInfo pi, - String prefix, String uriIn, TldLocation location, ErrorDispatcher err) + public TagLibraryInfoImpl(JspCompilationContext ctxt, ParserController pc, + PageInfo pi, String prefix, String uriIn, TldLocation location, + ErrorDispatcher err, Mark mark) throws JasperException { super(prefix, uriIn); @@ -162,7 +163,7 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { throw new FileNotFoundException(tldName); } } catch (FileNotFoundException ex) { - err.jspError("jsp.error.file.not.found", tldName); + err.jspError(mark, "jsp.error.file.not.found", tldName); } parseTLD(tldName, in, null); @@ -177,7 +178,7 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { in = jarResource.getEntry(tldName).openStream(); parseTLD(jarResource.getUrl(), in, jarResource); } catch (Exception ex) { - err.jspError("jsp.error.tld.unable_to_read", jarResource.getUrl(), + err.jspError(mark, "jsp.error.tld.unable_to_read", jarResource.getUrl(), jarResource.getUrl(), ex.toString()); } } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 87fc75c8f..313377212 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -212,6 +212,11 @@ + 49665: Provide better information including JSP file name and + location when a missing file is detected during TLD handling. Patch + provided by Ted Leung. (markt) + + 49726: Specifying a default content type via a JSP property group should not prevent a page from setting some other content type. (markt)