【发布时间】:2011-10-23 14:39:21
【问题描述】:
目前我有一个使用 JSF 1.2 和 Facelets 在 tomcat 6.0.18.0 中运行的 Web 项目。我决定升级 servlet 容器,因此我部署在 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')}">
...
如果我理解正确,它会因为表达式中的冒号而引发错误。我已经将它追踪到了 tomcat/lib 目录中附带的 jasper-el,如果我将 jasper.jar 和 jasper-el.jar 替换为来自 tomcat 6.0.18 的那些,一切都很好。
在升级他们的tomcat之前有没有其他人遇到过这个问题?他们是如何解决的? 我可以使用这些来自 tomcat 6 的 jasper jar 在生产 tomcat 7 中部署吗,或者这会导致进一步的问题。
【问题讨论】: