2012-12-31 74 views
1

我在自定義JSP標記的標題中收到異常。事情是,setter方法存在。我們實際上對每個屬性都有2-3個setter方法。一個接收Object,一個用於String,另一個用於標記的tld(通常爲布爾值)中指定的對象。Weblogic - 無法找到屬性的設置方法

這個異常是不一致的。我無法預測何時會發生,也不知道它是如何修復的。我在服務器上部署了完全相同的應用程序,頁面引發此異常,但是當我使用Eclipse在本地運行應用程序時,完全相同的頁面正常工作。

我曾經爲某個標籤發生的這個問題做了一個「修復」。 標籤有一個屬性

Booelan someAttribute = "true"; // Or something like that, the actual code is at work 

和3個setter方法

public void setSomeAttribute(Object attr) { ... } 
public void setSomeAttribute(String attr) { ... } 
public void setSomeAttribute(Boolean attr) { ... } // The type of the attribute in the tld 

出於某種原因,拋出此異常,所以我增加了第四二傳手

public void setsomeAttribute(Object attr) { ... } 

它固定的問題! 沒有其他標籤需要這個奇怪的解決方案,這個問題已經解決了重新部署和從SVN存儲庫和其他非永久性解決方案複製代碼。

我真的不知道是什麼原因導致這個問題或如何調查。 我真的很感激任何想法!

回答

0

爲什麼你不只有一個setter方法?你爲什麼需要這3種setter方法?

如果您編寫一個接受對象的setter方法,爲什麼要爲一個String編寫一個setter方法,而另一個方法是爲Boolean編寫一個setter方法?您可以用一種方法處理所有這些情況:

setSomeAttribute(Object attr) 
+0

我們遇到了問題,看起來好像需要創建一個準確接收tld中指定類型的setter。對於不在tld中的情況,我們添加了字符串和對象設置器來涵蓋所有可能性。 – Bennyz