2

我正在学习 JSTL,我已经从这里下载了JSTL 2.0.0 ,因为jstl 1.2.2使用的是javax而我使用的是jakarta

显示.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <c:out value="Jai Swaminarayan"/>

    <c:forEach items="${students}" var="s">
        ${s} <br/><br/>
    </c:forEach>
    
    </body>
</html>

此代码不断抛出以下错误:

Eclipse 上的错误

A problem was encountered using TagExtraInfo class 
 org.apache.taglibs.standard.tei.ForEachTEI for 'c:forEach'

网页错误

HTTP Status 500 – Internal Server Error
Type Exception Report
Message java.lang.NoClassDefFoundError: jakarta/servlet/jsp/jstl/core/LoopTag
Description The server encountered an unexpected condition that prevented it from fulfilling the request.

我什至在构建路径和文件夹中添加了.jar文件。我不认为这个问题与.jar文件有关,但我可能是错的。WEB-INF

在这里,<c:out>工作正常,但只会在<c:forEach>标签中引发错误。我检查了jakarta.servlet.jsp.jstl-2.0.0.jar中的文件和名为forEachTag.class的文件是否存在于org.apache.taglibs.standard.tei.ForEachTEI


软件数据:

Java 版本:15.0.2 | 服务器:Tomcat-10 | IDE:日食


我尝试了什么:

我找不到来源,但有些答案要求删除和之间的<%@空格taglib

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

尝试了很久。任何帮助都是可观的:)

4

1 回答 1

0

我和你有同样的问题,我确实喜欢评论所说的并查看了依赖项,下载并将下面的一个放在webapp/Web-inf/lib文件夹中,然后它就可以工作

于 2021-07-27T12:57:58.410 回答