【问题标题】:Calling "ambiguous" method of bean in EL 2.2 [duplicate]在EL 2.2中调用bean的“模糊”方法[重复]
【发布时间】:2014-11-03 12:50:26
【问题描述】:

给定一个提供以下两种方法的类的实例“myInstance”:

public String getAttributeValue( Identifier attribute ) {...}

public String getAttributeValue( ModelAttribute attribute ) {...]

有了一个标识符“myAttribute”,我尝试在我的 JSP 中调用这两个方法中的第一个:

<h2><c:out value="${myInstance.getAttributeValue(myAttribute)}" /></h2>

问题: 这在我的开发系统上运行良好,但在测试系统上我得到一个错误,说“标识符”不能被强制转换为“模型属性”。

EL 实现选择在我的机器上调用第一个方法,而在测试机器上调用第二个方法。

两台机器都安装了当前的 Java 7 和 Tomcat 7 版本。

我的问题: EL 如何确定调用哪个方法?我是否有机会影响这个选择(不提供其他方法)?

感谢您的任何提示, 安德烈

【问题讨论】:

  • @BalusC 谢谢,这正是我一直在寻找的答案 - 几年前 ;-) 不过,应该更简洁地表达我的问题。竖起大拇指!

标签: tomcat7 el


【解决方案1】:

我不太记得 JSP,但也许你传递了错误的对象?

【讨论】:

  • 是的,我传递了正确的对象。正如我所描述的:在我的机器上调用第一个参数类型为“Identifier”的方法,第二个参数类型为“ModelAttribute”的方法在另一个上调用。我在 EL 2.2 的规范中没有发现关于在所描述的情况下选择调用方法的方式的任何线索 - 并且没有描述这件事的限制。
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 2016-06-16
  • 2013-04-24
  • 2012-04-11
  • 2023-03-04
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多