В настоящее время у меня есть веб-проект с JSF 1.2 и Facelets, работающий в tomcat 6.0.18.0. Я решил обновить контейнер сервлетов, поэтому я развернул его в tomcat 7, и все выглядело нормально, пока мы не наткнулись на одно представление, используя мои пользовательские функции Facelet.
javax.el.ELException: Failed to parse the expression [{pz:instanceof(object,'com.project.domain.MyClass')}]
Caused by: org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 5. Was expecting one of:
"}" ...
"." ...
"[" ...
Эта ошибка возникает при разборе следующего кода:
<ui:repeat var="object" value="#{objects}">
<ui:fragment rendered="#{pz:instanceof(object,'com.project.domain.MyClass')}">
...
Если я правильно понимаю, выдает ошибку из-за двоеточия в выражении. Я отследил его до jasper-el, который поставляется в каталоге tomcat/lib, и если я заменю jasper.jar и jasper-el.jar на файлы из tomcat 6.0.18, все будет работать хорошо.
У кого-нибудь еще была эта проблема перед обновлением их кота? И как они это решили? Могу ли я развернуть в производстве tomcat 7 с этими jasper jar из tomcat 6, или это может вызвать дополнительные проблемы.