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

时间:2016-07-26 15:09:01

标签: java jsp

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

jsp代码

<%@ taglib prefix="p" uri="/WEB-INF/classes/tld/pagertag.tld"%>

错误日志:

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.<init>(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)

4 个答案:

答案 0 :(得分:14)

根据文件

  

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

您可以使用rename implicit.tld

将标记lib放在WEB-INF / tags中

答案 1 :(得分:10)

在jsp-2_2中

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

.tld文件不能位于类,lib,标签文件夹或子文件夹中。

答案 2 :(得分:1)

作为快速解决方案,您可以从tomcat 7.0.64的lib文件夹中复制以下两个库,并将其放置在项目根目录中;或者,如果您正在使用maven,则将这两个库作为依赖项添加到pom.xml文件中: / p>

jasper.jar jasper-el.jar

这将解决您的问题。

答案 3 :(得分:0)

似乎问题是tomcat版本。将tomcat版本从tomcat 8更改为7.0.55后,工作正常。