Tomcat10.1尝试加载自定义标记,但找不到类“javax.servlet.jsp.tagext.Tag”

pkbketx9  于 10个月前  发布在  Java
关注(0)|答案(1)|浏览(78)

我在升级到Sping Boot 3时遇到了问题。对于布局,我们使用JSP并在自定义标记<t:baseLayout>中定义了基本布局。升级到Sping Boot 3和Tomcat 10.1后,系统无法再加载自定义标记。

<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>

<t:baseLayout>
    Test
</t:baseLayout>

字符串
这之前是有效的。当我现在运行它时,我得到以下错误。

Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.Tag
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1437) ~[catalina.jar:10.1.7]
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1245) ~[catalina.jar:10.1.7]
    ... 182 common frames omitted


我知道那部分不再支持**“javax”**命名空间,但它还没有定义它。有人知道如何解决这个问题吗?
为了以防万一,我也使用JSTL

<%@taglib prefix="c" uri="jakarta.tags.core" %>


这部分工作正常,我已经安装了以下软件包。

implementation group: 'jakarta.servlet.jsp.jstl', name: 'jakarta.servlet.jsp.jstl-api', version: '3.0.0'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '3.0.1'

jq6vz3qz

jq6vz3qz1#

所以最后我没有找到解决这个问题的工作方案,所以我把模板迁移到Thymeleaf。有几个库不支持这些标记。

相关问题