Weblogic - 无法找到属性的setter方法

时间:2012-12-31 18:40:36

标签: java java-ee weblogic

我在自定义JSP标记的标题中获得了异常。问题是,setter方法存在。实际上,每个属性都有2-3个setter方法。一个接收Object,一个接收String,另一个接收标记的tld(通常是boolean)。

此异常不一致。我无法预测它何时会发生,也不知道它是如何修复的。我在服务器上部署了完全相同的应用程序,页面抛出了这个异常,但是当我在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存储库和其他非永久性解决方案复制代码。

我真的不知道是什么导致了这个问题或如何调查。 我真的很感激任何想法!

1 个答案:

答案 0 :(得分:0)

为什么你没有一个setter方法?你为什么需要这3种setter方法?

如果编写一个接受Object的setter方法,为什么要为String编写setter方法,为Boolean编写另一个方法?您只需一种方法即可处理所有这些情况:

setSomeAttribute(Object attr)