1

カスタムJSPタグのタイトルに例外があります。事は、セッターメソッドが存在するということです。実際には、属性ごとに2〜3個のセッターメソッドがあります。1つはオブジェクトを受け取り、もう1つは文字列用で、もう1つはタグの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

何らかの理由でこの例外がスローされたので、4番目のセッターを追加しました

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

そしてそれは問題を修正しました!他のタグはこの奇妙な解決策を必要としませんでした。問題は再デプロイとSVNリポジトリからのコードのコピーおよび他の非永続的な解決策で修正されました。

何がこの問題を引き起こしているのか、どのように調査するのか、私には本当にわかりません。どんなアイデアでも本当にありがたいです!

4

1 に答える 1

0

setter メソッドを 1 つだけにしてみませんか? なぜこれら 3 つのセッター メソッドが必要なのですか?

オブジェクトを受け入れるセッター メソッドをコーディングする場合、なぜ String 用のセッター メソッドとブール値用の別のセッター メソッドをコーディングするのでしょうか。これらすべてのケースを 1 つのメソッドで処理できます。

setSomeAttribute(Object attr)
于 2013-01-02T02:33:59.153 に答える