|
|||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Tag,IterationTag,BodyTagハンドラでリソース管理のための追加フックが必要なときのための拡張インターフェイスです。
このインターフェイスは2つのメソッドが追加されています。
doCatch(Torowable)とdoFinally()です。
以下のような形で呼び出されます。
h = get a Tag(); // タグハンドラを取得します。大体プールからになります。
h.setPageContext(pc); // 必要な初期化をします。
h.setParent(null);
h.setFoo("foo");
// タグの呼び出しプロトコルです。Tag.javaを見てください。
try {
doStartTag()...
....
doEndTag()...
} catch (Throwable t) {
// 例外時の処理
h.doCatch(t);
} finally {
// 不正データの復旧と呼び出し毎のリソースの解放
h.doFinally();
}
... いくつかの新しいセッターなどの呼び出し
...
h.release(); // 長期リソースの解放
| メソッドの概要 | |
void |
doCatch(Throwable t)
タグの中のボディ部の評価中、または Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody(), BodyTag.doInitBody() のいずれものメソッドの中で、Throwableが投げられたときに呼び出されます。 |
void |
doFinally()
Tag,IterationTag,BodyTagを実装した全てのクラスの doEndTag()の後で呼び出されます。 |
| メソッドの詳細 |
public void doCatch(Throwable t)
throws Throwable
このメソッドはセッターメソッドの中でThrowableが起きた場合は呼び出されません。
このメソッドは上位のネストチェインに伝達させる例外を投げることができます。(同じものでも新規でも) 例外が投げられた後、doFinally()が呼び出されます。
このメソッドは例外処理に対処することを意図しています。
t - このタグを通過してきたThrowableな例外
Throwablepublic void doFinally()
このメソッドはセッターメソッドの中でThrowableが起きた場合は呼び出されません。
このメソッドからは例外を投げるべきではありません。 このメソッドは呼び出し毎のデータの整合性をとることとリソース管理の動作をさせることを意図しています。
|
|||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.