我在自定义 JSP 标记的标题中遇到异常。问题是,setter 方法是存在的。实际上,每个属性都有 2-3 个 setter 方法。一个接收对象,一个接收字符串,一个接收标记的 tld(通常是布尔值)中指定的值。
这个例外并不一致。我无法预测它何时会发生,也不知道它是如何解决的。我在服务器上部署了完全相同的应用程序,页面抛出了这个异常,但是当我使用 Eclipse 在本地运行应用程序时,这个完全相同的页面工作正常。
我曾经对某个标签发生的这个问题进行了“修复”。标签有一个属性
Booelan someAttribute = "true"; // Or something like that, the actual code is at work
3个二传手是
public void setSomeAttribute(Object attr) { ... }
public void setSomeAttribute(String attr) { ... }
public void setSomeAttribute(Boolean attr) { ... } // The type of the attribute in the tld
出于某种原因,它抛出了这个异常,所以我添加了第四个 setter
public void setsomeAttribute(Object attr) { ... }
它解决了问题!没有其他标签需要这个奇怪的解决方案,该问题通过重新部署和从 SVN 存储库复制代码和其他非永久性解决方案得到解决。
我真的不知道是什么导致了这个问题或如何调查。我真的很感激任何想法!