クラス ErrorTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.ErrorTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
JSPのエラー発生時の処理を行うタグです。
JSPでは、エラー発生時に、エラーページに飛ばす機能があります。現在のエンジンでは、
common/error.jsp ページ内で、処理を行っていますが、表示形式の整形、エラーメールの送信、
ログへの出力、エラー文字列の表示(Exceptionをそのままユーザーに見せるのは良くない)
などの、細かい対応が必要です。
ここでは、それらをタグ化して、属性で指定できるようにしました。
エラー発生時にメールでエラー内容を飛ばすことも可能です。
これは、システムパラメータの COMMON_MAIL_SERVER に、ERROR_MAIL_TO_USERS に送信します。
ERROR_MAIL_TO_USERS が未設定の場合は、送信しません。
- 関連項目:
- 変更履歴:
- 4.0.0.0 (2005/08/31) 新規作成
- 機能分類
- エラー処理
- 形式サンプル:
- ●形式: <og:error useMail = "[true|false]" メール送信可否を指定します(初期値:true) logMsgType = "[LONG|MEDIUM|SHORT|NONE]" ログに書き込むメッセージの形式を指定(初期値:MEDIUM) viewMsgType = "[LONG|MEDIUM|SHORT|NONE|ALLNONE|TABLE|TABLE_ST]" 画面に表示するメッセージの形式を指定(初期値:SHORT) /> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:error useMail 【TAG】メール送信可否を指定します(初期値:true) logMsgType 【TAG】ログに書き込むメッセージの形式を指定(初期値:MEDIUM) viewMsgType 【TAG】画面に書き込むメッセージの形式を指定(初期値:SHORT) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) skipPage 【TAG】エラーが発生した時に、以降の処理をスキップするか(初期値:false[=スキップしない]) > ... Body ... </og:error> ●使用例 <og:error />
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明int
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setLogMsgType
(String logType) 【TAG】ログに書き込むメッセージの形式を指定(初期値:MEDIUM)。void
setSkipPage
(String flag) 【TAG】エラーが発生した時に、以降の処理をスキップするか(初期値:false[=スキップしない])。void
setUseMail
(String flag) 【TAG】エラー発生時に管理者にメール送信するかどうかを指定します(初期値:true)。void
setViewMsgType
(String viewType) 【TAG】画面に書き込むメッセージの形式を指定(初期値:MEDIUM)。toString()
デバッグ時の文字列を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
クラスから継承されたメソッド java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
コンストラクタの詳細
-
ErrorTag
public ErrorTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doStartTag
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示( EVAL_BODY_BUFFERED )
- 変更履歴:
- 4.1.0.0 (2008/01/11) 新規作成
-
doAfterBody
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。- 定義:
doAfterBody
インタフェース内IterationTag
- オーバーライド:
doAfterBody
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示(SKIP_BODY)
- 変更履歴:
- 4.1.0.0 (2008/01/11) 新規作成
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 4.0.0.0 (2005/12/31) UserInfo が存在しない場合の処理を追加します。, 4.1.0.0 (2008/01/11) ボディー部分のメッセージを表示する。, 5.0.0.4 (2009/08/28) ALLNONE追加, 5.1.8.0 (2010/07/01) テーブル形式メッセージ表示対応, 6.2.1.0 (2015/03/13) UserInfo が null の場合の処理を追加。, 6.4.2.0 (2016/01/29) LogSenderの廃止に伴い、LogWriter を直接呼び出します。, 6.7.7.1 (2017/04/07) viewMsgTypeに、TABLE_ST の追加(スタックトレースを含む詳細), 6.9.0.0 (2018/01/31) エラー表示情報の内容を修正します。
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
-
setUseMail
【TAG】エラー発生時に管理者にメール送信するかどうかを指定します(初期値:true)。- パラメータ:
flag
- メール送信可否 [true:する/false:しない]- 説明:
- メールは、システムパラメータの COMMON_MAIL_SERVER に、ERROR_MAIL_TO_USERS に送信します。 ERROR_MAIL_TO_USERS が未設定の場合は、送信しません。 初期値は、true(送信する)です。
-
setLogMsgType
【TAG】ログに書き込むメッセージの形式を指定(初期値:MEDIUM)。- パラメータ:
logType
- ログに書き込むメッセージの形式 [LONG|MEDIUM|SHORT|NONE]- 関連項目:
- 説明:
- ログ、および、メール送信時のメッセージの形式を指定します。 エラー時のExceptionは、階層構造になっており、ルートまでさかのぼることが 可能です。また、通常は、スタックとレース情報より、エラーのプログラムを 特定することで、早く対応することが可能になります。 メッセージの形式には、LONG|MEDIUM|SHORT|NONE が指定できます。 ボディー部分に記述されたメッセージは全ての場合で出力されます。 ・LONG : すべてのスタックトレース情報を取得します。 ・MEDIUM : org.opengion以下のパッケージのみスタックトレース情報を取得します。 ・SHORT : メッセージ部分のみ情報を取得します。 ・NONE : 取得しません。 初期値は、MEDIUM です。
-
setViewMsgType
【TAG】画面に書き込むメッセージの形式を指定(初期値:MEDIUM)。- パラメータ:
viewType
- 画面に出力するメッセージの形式 [LONG|MEDIUM|SHORT|NONE|ALLNONE|TABLE]- 関連項目:
- 説明:
- 画面に表示するメッセージの形式を指定します。 エラー時のExceptionは、階層構造になっており、ルートまでさかのぼることが 可能です。また、通常は、スタックとレース情報より、エラーのプログラムを 特定することで、早く対応することが可能になります。 メッセージの形式には、LONG|MEDIUM|SHORT|NONE|ALLNONE|TABLE が指定できます。 ボディー部分に記述されたメッセージは全ての場合で出力されます。 ・LONG : すべてのスタックトレース情報を取得します。 ・MEDIUM : org.opengion以下のパッケージのみスタックトレース情報を取得します。 ・SHORT : メッセージ部分のみ情報を取得します。 ・NONE : 取得しません。 ・ALLNONE : ヘッダも表示しません。 ・TABLE : テーブル形式でエラーメッセージのみを表示します。 ・TABLE_ST: テーブル形式+スタックトレース情報。" ); 初期値は、SHORT です。
-
setSkipPage
【TAG】エラーが発生した時に、以降の処理をスキップするか(初期値:false[=スキップしない])。- パラメータ:
flag
- 以降の処理のスキップ [true:する/false:しない]- 説明:
- エラーが発生した時に、以降の処理をスキップするかを設定します。 trueが設定された場合は、以降の処理をスキップします。 初期値は、false(スキップしない) です。
-
toString
デバッグ時の文字列を返します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このオブジェクトのデバッグ表現文字列
- このメソッドは、nullを返しません
-