Симптомы указывают, что теги JSTL были успешно проанализированы и выполнены (в противном случае вы вообще не увидите ${foo}
в браузере), но выражения EL не оцениваются (вы видите буквально ${foo}
вбраузер).
Это может произойти, если ваш web.xml
не объявлен как соответствующий как минимум Servlet 2.4 / JSP 2.0.Если ваш web.xml
объявлен как соответствующий сервлету 2.3 или ниже или имеет некорректное объявление, то выражения EL в совместимых с JSP 2.0 тегах не будут оцениваться вообще.
Для правильных web.xml
примеров объявлений проверьтенижняя часть нашей вики-страницы JSTL .Если вы нацелены на контейнер с Servlet 2.5 (например, Tomcat 6.0, Glassfish 2.x и т. Д.), Тогда ваш web.xml
должен быть объявлен как Servlet 2.5:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- Config here. -->
</web-app>