Java 11 TLDScanner 未加载系统 TLD

标签 java jsp jstl taglib

我有几个使用 taglibs 示例的 jsp 文件

  • jsp/jSTL/core,系统顶级域名
  • jsp-tiles

以来,TLDScanner 未加载这些内容(来自 javax.servlet.jsp 2.3.2)
  1. 在代码 (jSTL-1.2.jar) 中进行检查以查看是否 classloader 是 URLClassLoader 的一个实例,从 Java 11 开始 ApplicationClassloader 不是 URLClassloader,它不会加载 顶级
  2. 尝试在 web-inf/lib 中添加 jSTL-1.2.jar 这也不起作用,因为当 isLocal 为 true 时,它​​不会加载系统 tld

注意:当我们使用 tomcat 时,这个问题不存在,因为 tomcat 有一个 TLDScanner,它不能像这样工作,并且能够在 Java 11 中加载 TLD

有人可以告诉我如何解决这个问题吗?

最佳答案

这基本上是 jettys TLD 扫描仪的问题,嵌入式 tomcat 不存在问题

不确定最新的jetty是否已经解决了这个问题。

关于Java 11 TLDScanner 未加载系统 TLD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55031222/

相关文章:

spring - 当我们存储在数据库中时如何执行 JSTL 代码

java - 在 Spring MVC 中显示带有复选框的列表

java - 如何使用 JSTL 区分 JSP 中的域

java - 启动 Apache tomcat 服务器时出错

java - 来自 http 调用和表单的 Meteor 动态模板

java - 破坏jsp编译

java - IntelliJ IDEA 丢失了我的依赖项的类路径

java - 如何在单击按钮时添加/删除 fragment ?

java - 如何在循环中填充 json 数组

java - 使用 JSTL 调用对象方法