Ошибка в теге <c:forEach> в JSTL при использовании Eclipse
Я учусь JSTL и я скачал JSTL 2.0.0 от сюда , потому что JSTL 1.2.2 использует javax и я использую Джакарту .
display.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 в путь сборки и
WEB-INF
Папка. Я не думаю, что эта проблема связана с файлом .jar, но могу ошибаться.
Здесь,
<c:out>
работает отлично, но выдает ошибку только в
<c:forEach>
тег. Я проверил файлы в jakarta.servlet.jsp.jstl-2.0.0.jar и файл с именем forEachTag.class Does Exists в org.apache.taglibs.standard.tei.ForEachTEI
Данные программного обеспечения:
Версия Java : 15.0.2 | Сервер : Tomcat-10 | IDE: Eclipse
Что я пробовал:
Я не могу найти источник, но какой-то ответ попросил удалить пробелы между
<%@
а также
taglib
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Пробуем уже давно. Любая помощь заметна :)
1 ответ
У меня была та же проблема, что и у вас, мне понравилось, что в комментарии сказано, и я посмотрел на зависимости, загрузил и поместил приведенный ниже в папку webapp / Web-inf / lib, и после этого он работал :)
https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api/2.0.0-RC1