java error:message无效的tld文件:有关更多详细信息,请参阅JSP 2.2规范部分7.3.1

当我访问本地java tomcat页面时,出现错误,请帮忙检查一下这有什么问题,谢谢

jsp代码

 

错误日志:

 SEVERE: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: Invalid tld file: "/WEB-INF/classes/tld/pagertag.tld", see JSP 2.2 specification section 7.3.1 for more details at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117) at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:347) at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:154) at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:419) at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484) at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421) at org.apache.jasper.compiler.Parser.parse(Parser.java:138) at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102) 

根据文件

标记库描述符文件的名称使用扩展名.tld,扩展名表示标记库描述符文件。 在JAR文件中部署时,标记库描述符文件必须位于META-INF目录或其子目录中。 直接部署到Web应用程序时,标记库描述符文件必须始终位于WEB-INF目录或其某个子目录中。 TLD文件不应放在/ WEB-INF / classes或/ WEB-INF / lib中,并且不得放在/ WEB-INF / tags或其子目录中, 除非命名为implicit.tld且用于配置隐式标签库及其JSP版本和tlib版本。

您可以使用rename implicit.tld将标记lib放在WEB-INF / tags中

在jsp-2_2中

JSP.7.3.1标识标记库描述符标记库描述符文件的名称使用扩展名.tld,扩展名表示标记库描述符文件。 在JAR文件中部署时,标记库描述符文件必须位于META-INF目录或其子目录中。 直接部署到Web应用程序时,标记库描述符文件必须始终位于WEB-INF目录或其某个子目录中。 TLD文件不应放在/ WEB-INF / classes或/ WEB-INF / lib中,并且不得放在/ WEB-INF / tags或其子目录中,除非命名为implicit.tld且用于配置隐式标签库及其JSP版本和tlib版本。

.tld文件不能在classes,lib,tags文件夹或子文件夹中。

似乎问题是与tomcat版本有关。 将tomcat版本从tomcat 8更改为7.0.55后,它可以正常工作。