关于Jsp页面“http://java.sun.com/jsp/jstl/cor“&“http://java.sun.com/jsp/jstl/functions“报红的异常

本文分析了在JavaWeb项目中遇到的JSTL版本问题,包括版本不匹配、缺失standard.jar以及依赖项不足等常见错误。提供了在不同JavaEE环境下正确的JSTL声明方式,以及如何在Maven项目中添加必要依赖。

在做JavaWeb项目的过程中,出现这样的错误:
看着好像是导入的异常
或者是这样的
被标注的地为红色
在这里插入图片描述
二,原因分析

1.版本的问题:

JSTL1.0 的声明是:<%@ taglib prefix=“c” uri="http://java.sun.com/jstl/core " %>
JSTL1.1 的声明是:<%@ taglib prefix=“c” uri=http://java.sun.com/jsp/jstl/core %>

2.缺少Standard.jar

在Javaee5中 自带的已经是JSTL1.2的版本,页面中导入方式是这样的:
<%@ taglib prefix=“c” uri=http://java.sun.com/jsp/jstl/core %>
但在Javaee5之后自带的只有JSTL1.2.jar没有 standard.jar,故需要手动添加一下 standard.jar这个jar包

3.缺少必要的依赖项

在maven项目中的 pom.xml文件中添加依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>

同时也要检查Jsp页面的<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>格式是否正确

在使用 JSTLJSP 标准标签库)时,开发者可能会遇到核心标签库 URI `http://java.sun.com/jsp/jstl/core` 无法正常工作的问题。这种情况通常与依赖配置、版本兼容性或部署描述符设置有关。 首先,确保项目中已正确引入 JSTL 的相关依赖。对于基于 Maven 的项目,应在 `pom.xml` 中添加以下依赖以包含 JSTL 核心库: ```xml &lt;dependency&gt; &lt;groupId&gt;javax.servlet&lt;/groupId&gt; &lt;artifactId&gt;jstl&lt;/artifactId&gt; &lt;version&gt;1.2&lt;/version&gt; &lt;/dependency&gt; ``` 此外,某些旧版本的 JSTL 可能需要额外的标准标签库支持,例如 `taglibs-standard-impl` 和 `taglibs-standard-jsp`,这些可以通过如下依赖引入: ```xml &lt;dependency&gt; &lt;groupId&gt;taglibs&lt;/groupId&gt; &lt;artifactId&gt;standard&lt;/artifactId&gt; &lt;version&gt;1.1.2&lt;/version&gt; &lt;/dependency&gt; ``` 如果使用的是较新的 Tomcat 版本(如 9.x 或以上),还需注意 JSP API 的版本是否匹配。可以在 `pom.xml` 中指定合适的 JSP API 依赖: ```xml &lt;dependency&gt; &lt;groupId&gt;javax.servlet.jsp&lt;/groupId&gt; &lt;artifactId&gt;jsp-api&lt;/artifactId&gt; &lt;version&gt;2.3&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; ``` 其次,在 `web.xml` 文件中应正确定义标签库的位置。一个典型的配置示例如下: ```xml &lt;taglib&gt; &lt;taglib-uri&gt;http://java.sun.com/jstl/core&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/tld/c.tld&lt;/taglib-location&gt; &lt;/taglib&gt; ``` 如果仍然无法访问 JSTL 核心标签库的 URI,可能是由于服务器缓存或工作目录权限问题导致的 404 错误。此时可以尝试清除 Tomcat 的工作目录 `/usr/local/tomcat/work`,并确保该目录及其内容的权限设置允许 Tomcat 用户读写访问[^3]。 最后,在 JSP 页面中引用 JSTL 核心标签库时,应使用正确的 URI 并声明标签前缀,例如: ```jsp &lt;%@ taglib prefix=&quot;c&quot; uri=&quot;http://java.sun.com/jstl/core&quot; %&gt; ``` 通过上述配置步骤,大多数关于 JSTL 核心标签库 URI 无法访问的问题都可以得到解决。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值