Я предполагаю, что теги JSF работают нормально, в противном случае вы не увидели бы простой EL на странице в веб-браузере, поэтому часть FacesServlet
в порядке.В противном случае было бы странно, если бы он работал в Glassfish.Пропуск JAR-файлов JSF приведет только к ошибкам HTTP 500 с исключениями, в которых сообщается, что библиотеки JSF отсутствуют в пути к классам при загрузке FacesServlet
.
Итак, EL в JSF не работает.Это может произойти, если фабрика JSF EL не найдена.Это может произойти, если вы объявили «пользовательскую» фабрику JSF EL в web.xml
, но эта фабрика отсутствует в пути к классам веб-приложения.То, что это работает в Glassfish, может означать только то, что у вас есть web.xml
.
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>
Избавьтесь от этого.Tomcat не поставляется с реализацией EL для Glassfish.Tomcat уже поставляется со своей собственной реализацией EL, которая должна работать так же хорошо, как и в Glassfish.
Однако в журналах запуска сервера уже должен быть об этом намек.