Выражения EL не будут выполняемый в Tomcat 5.5, но работающий у кота 6.0.20

Независимо от того, что Вы делаете, необходимо остерегаться погрешностей округления. Вычислите использование большей степени точности, чем Вы отображаетесь в.

15
задан BalusC 30 January 2010 в 18:53
поделиться

2 ответа

Но когда я развертываю файл войны на платформе Unix (CentOS), где у меня Tomcat 5.5, выражение EL не выполняется и дает мне вывод вроде:

 $ {prod.id} $ {prod.name}

Другими словами, выражение EL вообще не оценивается и отображается как обычный текст? Это может иметь одну или несколько из следующих причин:

  1. Рассматриваемый сервер приложений не поддерживает JSP 2.0.
  2. web.xml не объявлен как сервлет 2.4 или выше.
  3. <% @ page%> JSP настроен с isELIgnored = true .
  4. 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>
35
ответ дан 1 December 2019 в 01:17
поделиться

Вы уверены, что включили библиотеку JSTL в Tomcat или в папку lib вашего веб-приложения?

Эти ссылки помогут вам:

Как настроить Tomcat для работы с JSTL

Как ссылаться на jstl и использовать его в вашем веб-приложении

1
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: