JSF Tomcat 7 PropertyNotFoundException

JSF Tomcat 7 PropertyNotFoundException,jsf,tomcat,el,Jsf,Tomcat,El,从tomcat 6升级到tomcat 7后,我遇到了PropertyNotFoundException。这是我得到的信息: value="#{someHandler.result.someList[1].doSomething(someDTO.id).value}": Property 'doSomething' not found on type com.someproject.SomeClass 有人能解释为什么吗?我正在使用JSF2(myfaces实现),是的,doSomething不是

从tomcat 6升级到tomcat 7后,我遇到了PropertyNotFoundException。这是我得到的信息:

value="#{someHandler.result.someList[1].doSomething(someDTO.id).value}": Property 'doSomething' not found on type com.someproject.SomeClass
有人能解释为什么吗?我正在使用JSF2(myfaces实现),是的,doSomething不是属性,而是值。它在Tomcat6上运行良好。我在按下一个按钮(这将使页面在访问数据库后刷新)后出现此异常。表单在第一次被调用时就被渲染得很好

谢谢大家!

doSomething(someDTO.id)
EL Previor 2.2默认不支持这样的方法调用。因此,我无法理解为什么它能在使用EL2.1的Tomcat6上工作。它的
/lib
文件夹中可能有一个自定义EL实现

但是,由于Tomcat7.0支持EL2.2,因此它在Tomcat7.0上肯定可以正常工作。唯一的先决条件是声明您的
web.xml
符合Servlet3.0规范,以便触发EL2.2特性

确保您的
web.xml
符合Servlet 3.0,而不是2.5或更高版本:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <!-- config here -->
</web-app>