【发布时间】:2013-06-18 10:09:48
【问题描述】:
我们正在考虑将我们相当大的 web 应用程序(使用 Primefaces、Mojarra 2.1、Jetty)从 Sun JDK6 + Jetty 6 切换到 Oracle JDK7 + Jetty 9。大多数情况下这很轻松,但似乎 Java 上的方法访问不同7.
当有一个具有两种方法的类时
public Object getValue(int _index) {...}
和
public Object getValue(String _name) {...}
并使用
#{myBean.getValue(index)}
会调用正确的方法(使用int 参数)并在Java 6 下返回正确的值。但是在Java 7 中,它会静默失败并且不会返回/打印任何内容。当我更改方法名称并在 JSF 文件中使用适当的名称时,访问按预期工作。
为什么我只在 Java 7 上看到这个,有没有办法恢复旧的行为(基本上,它的工作方式就像它在 Java 代码中一样 - 根据参数的类使用正确的方法)?
【问题讨论】: