在Tomcat 10.1.x 以及Tomcat 10.0.x 上安装JSTL

       在学习Spring MVC 过程中,使用原来tomcat 9.0.x的配置方法出现错误 forEach标红 。以下是关于在Tomcat 10.1.x以及Tomcat 10.0.x上JSTL的配置。

在Tomcat 10.1.x上安装JSTL

      Tomcat 10.1.x(第二个Jakartified版本,使用jakarta.*软件包而不是javax.*软件包,但第一个版本使用更新的jakarta.tags.*namespace URNs而不是http://java.sun.com/jsp/jstl/*命名空间URL),则使用默认的Mavencompile范围通过此唯一依赖项使用JSTL 3.0。

需要在pom.xml下添加以下jar:

<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>jakarta.servlet.jsp.jstl</artifactId>
    <version>3.0.1</version>
</dependency>

   非Maven用户可以通过在Web应用程序项目的/WEB-INF/lib文件夹中删除以下两个物理文件来实现相同的目标(绝对不要将标准*.jar或任何松散的.tld文件放在那里!如有必要,请移除它们)。

  如上所述,命名空间URI已更改为URN而不是URL。JSTL核心自JSTL版本3.0以来,可以通过URN格式的更易于记忆的命名空间URI获得:

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

     此外,您还应该确保您的web.xml至少符合Servlet 2.4,因此不作为Servlet 2.3或更早版本。否则,JSTL标签中的EL表达式将无法工作。选择与您的目标容器匹配的最高版本,并确保您没有<!DOCTYPE>在您的web.xml中的任何地方,否则仍会触发Servlet 2.3模式。以下是Servlet 6.0(Tomcat 10.1.x)兼容示例:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="https://jakarta.ee/xml/ns/jakartaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
    version="6.0">

    <!-- Config here. -->

</web-app>

在Tomcat 10.0.x上安装JSTL

    Tomcat 10.0.x(第一个Jakartified版本,带有jakarta.*包而不是javax.*包),则使用默认的Mavencompile范围通过此唯一依赖项使用JSTL 2.0:

<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>jakarta.servlet.jsp.jstl</artifactId>
    <version>2.0.0</version>
</dependency>

非Maven用户可以通过在Web应用程序项目的/WEB-INF/lib文件夹中删除以下两个物理文件来实现相同的目标(绝对不要将标准*.jar或任何松散的.tld文件放在那里!如有必要,请移除它们)。

这里有一个Servlet 5.0(Tomcat 10.0.x)兼容示例:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="https://jakarta.ee/xml/ns/jakartaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
    version="5.0">

    <!-- Config here. -->

</web-app>

   我发现以上这些都设置完成后,forEach还会标红报错,但运行起来已经可以正常使用,可能是IDE还没有适应新的Jakarta吧(我猜的)!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值