我在升级到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'
型
1条答案
按热度按时间jq6vz3qz1#
所以最后我没有找到解决这个问题的工作方案,所以我把模板迁移到Thymeleaf。有几个库不支持这些标记。