パッケージ org.opengion.hayabusa.taglib

# クラス 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`

public class ErrorTag extends CommonTagSupport
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`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `ErrorTag()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doAfterBody()`
  Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
  `int`
  `doEndTag()`
  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
  `int`
  `doStartTag()`
  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)。
  `String`
  `toString()`
  デバッグ時の文字列を返します。

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, 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

    public int doStartTag()
    Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    定義:
      `doStartTag` インタフェース内 `Tag`
    オーバーライド:
      `doStartTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示( EVAL_BODY_BUFFERED )
    変更履歴:
      4.1.0.0 (2008/01/11) 新規作成

  - ### doAfterBody

    public int doAfterBody()
    Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    定義:
      `doAfterBody` インタフェース内 `IterationTag`
    オーバーライド:
      `doAfterBody` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示(SKIP_BODY)
    変更履歴:
      4.1.0.0 (2008/01/11) 新規作成

  - ### doEndTag

    public int 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

    protected void release2()
    タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
    オーバーライド:
      `release2` クラス内 `CommonTagSupport`

  - ### setUseMail

    public void setUseMail(String flag)
    【TAG】エラー発生時に管理者にメール送信するかどうかを指定します(初期値:true)。
    パラメータ:
      `flag` - メール送信可否 [true:する/false:しない]
    説明:
      メールは、システムパラメータの COMMON_MAIL_SERVER に、ERROR_MAIL_TO_USERS に送信します。 ERROR_MAIL_TO_USERS が未設定の場合は、送信しません。 初期値は、true(送信する)です。

  - ### setLogMsgType

    public void setLogMsgType(String logType)
    【TAG】ログに書き込むメッセージの形式を指定(初期値:MEDIUM)。
    パラメータ:
      `logType` - ログに書き込むメッセージの形式 [LONG|MEDIUM|SHORT|NONE]
    関連項目:
      - `setViewMsgType(String)`
    説明:
      ログ、および、メール送信時のメッセージの形式を指定します。 エラー時のExceptionは、階層構造になっており、ルートまでさかのぼることが 可能です。また、通常は、スタックとレース情報より、エラーのプログラムを 特定することで、早く対応することが可能になります。 メッセージの形式には、LONG|MEDIUM|SHORT|NONE が指定できます。 ボディー部分に記述されたメッセージは全ての場合で出力されます。 ・LONG : すべてのスタックトレース情報を取得します。 ・MEDIUM : org.opengion以下のパッケージのみスタックトレース情報を取得します。 ・SHORT : メッセージ部分のみ情報を取得します。 ・NONE : 取得しません。 初期値は、MEDIUM です。

  - ### setViewMsgType

    public void setViewMsgType(String viewType)
    【TAG】画面に書き込むメッセージの形式を指定(初期値:MEDIUM)。
    パラメータ:
      `viewType` - 画面に出力するメッセージの形式 [LONG|MEDIUM|SHORT|NONE|ALLNONE|TABLE]
    関連項目:
      - `setLogMsgType(String)`
    説明:
      画面に表示するメッセージの形式を指定します。 エラー時のExceptionは、階層構造になっており、ルートまでさかのぼることが 可能です。また、通常は、スタックとレース情報より、エラーのプログラムを 特定することで、早く対応することが可能になります。 メッセージの形式には、LONG|MEDIUM|SHORT|NONE|ALLNONE|TABLE が指定できます。 ボディー部分に記述されたメッセージは全ての場合で出力されます。 ・LONG : すべてのスタックトレース情報を取得します。 ・MEDIUM : org.opengion以下のパッケージのみスタックトレース情報を取得します。 ・SHORT : メッセージ部分のみ情報を取得します。 ・NONE : 取得しません。 ・ALLNONE : ヘッダも表示しません。 ・TABLE : テーブル形式でエラーメッセージのみを表示します。 ・TABLE_ST: テーブル形式＋スタックトレース情報。" ); 初期値は、SHORT です。

  - ### setSkipPage

    public void setSkipPage(String flag)
    【TAG】エラーが発生した時に、以降の処理をスキップするか(初期値:false[=スキップしない])。
    パラメータ:
      `flag` - 以降の処理のスキップ [true:する/false:しない]
    説明:
      エラーが発生した時に、以降の処理をスキップするかを設定します。 trueが設定された場合は、以降の処理をスキップします。 初期値は、false(スキップしない) です。

  - ### toString

    public String toString()
    デバッグ時の文字列を返します。
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このオブジェクトのデバッグ表現文字列
    このﾒｿｯﾄﾞは、nullを返しません