Независимо от того, что Вы делаете, необходимо остерегаться погрешностей округления. Вычислите использование большей степени точности, чем Вы отображаетесь в.
Но когда я развертываю файл войны на платформе Unix (CentOS), где у меня Tomcat 5.5, выражение EL не выполняется и дает мне вывод вроде:
$ {prod.id} $ {prod.name}
Другими словами, выражение EL вообще не оценивается и отображается как обычный текст? Это может иметь одну или несколько из следующих причин:
web.xml
не объявлен как сервлет 2.4 или выше. <% @ page%>
JSP настроен с isELIgnored = true
. web.xml
настроен с true
в
. Tomcat 5.5 - это сервлет 2.4 / JSP 2.0, поэтому №1 можно поцарапать. Полагаю, вы ничего не меняли в веб-приложении перед развертыванием, поэтому №3 и №4 могут быть поцарапаны. Теперь осталось №2. Возможно, вы объявили его как Servlet 2.5 для Tomcat 6.0, тогда как Tomcat 5.5 понимает только до с Servlet 2.4. Таким образом, все станет беспорядком, поскольку Tomcat затем перейдет к режиму наименьшей совместимости. Вам необходимо повторно объявить web.xml
как Servlet 2.4 , чтобы он работал как в Tomcat 5.5, так и в 6.0. Объявление должно выглядеть так:
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<!-- Here you go. -->
</web-app>
Вы уверены, что включили библиотеку JSTL в Tomcat или в папку lib вашего веб-приложения?
Эти ссылки помогут вам:
Как настроить Tomcat для работы с JSTL
Как ссылаться на jstl и использовать его в вашем веб-приложении