JSF Tomcat 7 PropertyNotFoundException



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

value="#{someHandler.result.someList[1].doSomething(someDTO.id).value}": Property 'doSomething' not found on type com.someproject.SomeClass

谁能解释为什么?我正在使用jsf 2(myfaces实现),是的,doSomething不是属性,但值是。它适用于雄猫 6。按下按钮后我得到此异常(这将在进行一些数据库访问后刷新页面)。表单在第一次调用时呈现良好!

谢谢!

doSomething(someDTO.id)

默认情况下,EL 2.2 之前的版本不支持此类方法调用。因此,为什么它可以在使用EL 2.1的Tomcat 6上运行,这超出了我的理解。可能它的 /lib 文件夹中有一个自定义 EL 实现。

但是,由于Tomcat 7.0

支持EL 2.2,因此它绝对可以在Tomcat 7.0上正常工作。唯一的先决条件是声明您的web.xml符合 Servlet 3.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>

相关内容

  • 没有找到相关文章

最新更新