【问题标题】:JSF Tomcat 7 PropertyNotFoundExceptionJSF Tomcat 7 PropertyNotFoundException
【发布时间】:2011-05-16 16:44:41
【问题描述】:

我从 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 不是属性,但值是。它适用于tomcat 6。按下按钮后出现此异常(这会使页面在进行一些数据库访问后刷新)。表单在第一次调用时渲染良好!

谢谢!

【问题讨论】:

    标签: jsf tomcat el


    【解决方案1】:
    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>
    

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 2015-05-25
      相关资源
      最近更新 更多