从Tomcat6升级到Tomcat7后,我遇到了一个PropertyNotFoundException。这是我得到的消息:
value="#{someHandler.result.someList[1].doSomething(someDTO.id).value}": Property 'doSomething' not found on type com.someproject.SomeClass有谁能解释一下原因吗?我使用的是jsf2 (myfaces实现),是的,doSomething不是属性,但值是属性。它在tomcat6上运行得很好。我在按下一个按钮后得到了这个异常(这会使页面在进行一些数据库访问后刷新)。窗体在第一次被调用时呈现得很好!
谢谢!
发布于 2011-05-17 01:11:54
doSomething(someDTO.id)EL之前的2.2版本默认不支持这样的方法调用。所以我不明白为什么它能在使用EL 2.1的Tomcat6上工作。可能在它的/lib文件夹中有一个自定义的EL实现。
然而,由于Tomcat7.0支持EL 2.2,它在Tomcat7.0上肯定可以很好地工作。唯一的先决条件是您的web.xml被声明为符合Servlet3.0规范,以便EL 2.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>https://stackoverflow.com/questions/6020593
复制相似问题