Ответ 1
Да, хорошо известно, что URI для taglibs изменился между версиями JSTL 1.0 и 1.1. Если вам удастся получить примеры, использующие старый стандарт, и попытайтесь использовать их с новым JAR taglib, у вас возникнет такая проблема.
Я проверил Spring учебник MVC и скопировал этот небольшой JSP-код:
<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Training, Inc.</title></head>
<body>
<h2><c:out value="${message}" /></h2>
</body>
</html>
Существует строка для сообщения, а тег c: out просто печатает буквально
${сообщение}
Я некоторое время бил головой, пока не вспомнил проблему, с которой я столкнулся раньше, и изменил URI taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
Это решило мою маленькую проблему
Некоторое время назад у меня была аналогичная проблема с преобразованием XSLT, но в этом случае мне пришлось перейти от http://java.sun.com/jstl/xml до http://java.sun.com/jsp/jstl/xml
В соответствии с этой ссылкой http://java.sun.com/jsp/jstl, а в других я получил последнюю версию из http://java.sun.com/jstl
Да, хорошо известно, что URI для taglibs изменился между версиями JSTL 1.0 и 1.1. Если вам удастся получить примеры, использующие старый стандарт, и попытайтесь использовать их с новым JAR taglib, у вас возникнет такая проблема.
Если вы все еще получаете эту ошибку, но вы вручную создаете свой pom, вы, вероятно, пропустили стандартную библиотеку. например Я пропустил
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>${jstl.version}</version>
</dependency>