java错误:消息无效tld文件:有关更多详细信息,请参阅JSP 2.2规范第7.3.1节
当我访问本地java tomcat页面时,错误是follow,请帮助检查这有什么问题,谢谢 jsp代码java错误:消息无效tld文件:有关更多详细信息,请参阅JSP 2.2规范第7.3.1节,java,jsp,Java,Jsp,当我访问本地java tomcat页面时,错误是follow,请帮助检查这有什么问题,谢谢 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 fo
错误日志:
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)
严重:Servlet jsp的Servlet.service()引发异常
org.apache.jasper.JasperException:无效的tld文件:“/WEB-INF/classes/tld/pagertag.tld”,有关详细信息,请参阅JSP 2.2规范第7.3.1节
位于org.apache.jasper.compiler.DefaultErrorHandler.jsperor(DefaultErrorHandler.java:56)
位于org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
位于org.apache.jasper.compiler.ErrorDispatcher.jsperor(ErrorDispatcher.java:117)
位于org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:347)
位于org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:154)
位于org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:419)
位于org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484)
位于org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421)
位于org.apache.jasper.compiler.Parser.parse(Parser.java:138)
位于org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
位于org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
在jsp-2\u 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文件不能位于class、lib、tags文件夹或子文件夹中。根据文档
标记库描述符文件的名称使用扩展名.tld,
扩展名表示标记库描述符文件。什么时候
部署在JAR文件中的标记库描述符文件必须
在META-INF目录或其子目录中。部署时
必须将标记库描述符文件直接导入web应用程序
始终位于WEB-INF目录或其某个子目录中。TLD
文件不应放在/WEB-INF/classes或/WEB-INF/lib中,并且
不能放在/WEB-INF/tags或其子目录中,
除非命名为implicit.tld并打算用JSP版本和tlib版本配置隐式标记库
您可以使用rename implicit将标记库放在WEB-INF/tags中。tld似乎问题在于tomcat版本。将tomcat版本从tomcat 8更改为7.0.55后,工作正常。作为快速解决方案,您可以从tomcat 7.0.64的lib文件夹中复制以下两个库,并将其放在项目根目录中,或者如果您使用maven,则将这两个库作为依赖项添加到pom.xml文件中: jasper.jar jasper-el.jar
这将解决您的问题。解析文档时出现问题。也许您可以完全提供它。请确保.tld文件的路径正确。通常是/WEB-INF/tld/而不是/WEB-INF/classes/tldI将tomcat降级到7.0.46,问题消失了~~~原因很简单,行为在7.0.70+中发生了变化:感谢这个提示,它成功了(重命名为implicit.tld)!这意味着,如果我想使用较新版本的Tomcat运行,我将不得不进行一些文件重命名,以使我们的应用程序符合标准……将子目录从标记重命名为TLD对我来说很有效。Tomcat 8强制执行规范,而Tomcat 7则没有。