org.opengion.hayabusa.taglib

## クラス ReportTableTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.opengion.hayabusa.taglib.CommonTagSupport
      - - org.opengion.hayabusa.taglib.ReportTableTag

- すべての実装されたインタフェース:
    java.io.Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally

      public class ReportTableTag
      extends CommonTagSupport

       検索結果の DBTableModelオブジェクトをレポート形式に変換するタグです。

       データ(DBTableModel)と、コントローラ(DBTableReport クラス)を与えて、
       外部からコントロールすることで、各種形式で データ(DBTableModel)を表示させることが
       可能です。

  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:report fileURL="[･･･]" listId="[･･･]" ･･･ />
         ●body：なし

         ●Tag定義：
           <og:report
               listId           ○【TAG】帳票IDを指定します(必須)。
               fileURL            【TAG】雛型のHTMLファイルの保存してある ディレクトリを指定します
               programFile        【TAG】HTMLファイルをEXCEL変換する場合に使用するBATファイルを指定します
               outFileURL         【TAG】出力HTMLファイルの保存してあるディレクトリを指定します
               outFilename      ○【TAG】ファイルを作成するときの出力ファイル名をセットします(必須)。
               headerKeys         【TAG】固定部の{@KEY} の KEY 部分をCSV形式で複数指定します
               headerVals         【TAG】固定部のKEY に対応する値をCSV形式で複数指定します
               footerKeys         【TAG】繰り返し部の終了後に表示する key 部分をCSV形式で複数指定します
               footerVals         【TAG】固定部のKEY に対応する値をCSV形式で複数指定します
               pageEndCut         【TAG】ボディー部(繰り返し部)がなくなったときに、それ以降を表示するかどうか[true/false]を指定します(初期値:true)
               reportClass        【TAG】実際に書き出すクラス名の略称(DBTableReport_**** の ****)をセットします(初期値:HTML)
               language           【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します
               scope              【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session)
               tableId            【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           />

         ●使用例

  機能分類
    その他出力
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

      `BR, BUFFER_MIDDLE, CR`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.BodyTagSupport

      `bodyContent`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.TagSupport

      `id, pageContext`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### コンストラクタのサマリー

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

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `protected java.lang.String` | `getTagName()` タグの名称を、返します。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setFileURL(java.lang.String url)` 【TAG】雛型のHTMLファイルの保存してある ディレクトリを指定します (初期値:FILE_URL[=filetemp/])。
    `void` | `setFooterKeys(java.lang.String ftKeys)` 【TAG】繰り返し部の終了後に表示する key 部分をCSV形式で複数指定します。
    `void` | `setFooterVals(java.lang.String ftVals)` 【TAG】固定部のKEY に対応する値をCSV形式で複数指定します。
    `void` | `setHeaderKeys(java.lang.String hKeys)` 【TAG】固定部の{@KEY} の KEY 部分をCSV形式で複数指定します。
    `void` | `setHeaderVals(java.lang.String hVals)` 【TAG】固定部のKEY に対応する値をCSV形式で複数指定します。
    `void` | `setListId(java.lang.String listId)` 【TAG】帳票IDを指定します。
    `void` | `setOutFilename(java.lang.String filename)` 【TAG】ファイルを作成するときの出力ファイル名をセットします。
    `void` | `setOutFileURL(java.lang.String url)` 【TAG】出力HTMLファイルの保存してあるディレクトリを指定します (初期値:FILE_URL[=filetemp/])。
    `void` | `setPageEndCut(java.lang.String peCut)` 【TAG】ページエンドカットするかどうか[true:する/false:しない]を指定します(初期値:true:カットする)。
    `void` | `setProgramFile(java.lang.String programFile)` 【TAG】HTMLファイルをEXCEL変換する場合に使用するBATファイルを指定します。
    `void` | `setReportClass(java.lang.String reportClass)` 【TAG】実際に書き出すクラス名の略称(DBTableReport_**** の ****)をセットします(初期値:HTML)。
    `void` | `setTableId(java.lang.String id)` 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
    `java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport

      `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

    - ### クラスから継承されたメソッド javax.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`

    - ### インタフェースから継承されたメソッド javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

- - ### コンストラクタの詳細

    - #### ReportTableTag

          public ReportTableTag()

      デフォルトコンストラクター
      変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### doEndTag

          public int doEndTag()

      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
        `doEndTag` インタフェース内 `Tag`
      オーバーライド:
        `doEndTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示
      変更履歴:
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.8.0.4 (2005/08/08) 帳票出力に準拠した方式に変更, 4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel ), 4.0.0.0 (2007/11/28) メソッドの戻り値をチェックします。, 6.4.2.1 (2016/02/05) HybsSystem.url2dir に引数追加。

    - #### release2

          protected void release2()

      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
        `release2` クラス内 `CommonTagSupport`
      変更履歴:
        2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.1.3.0 (2003/04/10) REPORT_ENCODE(帳票エンコーディング)を利用するように修正。, 3.8.0.4 (2005/08/08) filename 削除、listId ,programFile 追加 ,

    - #### setTableId

          public void setTableId(java.lang.String id)

      【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
      パラメータ:
        `id` - テーブルID (sessionに登録する時のID)
      説明:
        検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。

    - #### setListId

          public void setListId(java.lang.String listId)

      【TAG】帳票IDを指定します。
      パラメータ:
        `listId` - 帳票ID
      説明:
        雛形ファイルは、帳票ID.html となります。また、ファーストページ対応の場合は、 帳票ID_FIRST.html になります。 なお、filename 属性が指定された場合は、そちらが優先されます。
      変更履歴:
        3.8.0.4 (2005/08/08) 新規追加

    - #### setHeaderKeys

          public void setHeaderKeys(java.lang.String hKeys)

      【TAG】固定部の{@KEY} の KEY 部分をCSV形式で複数指定します。
      パラメータ:
        `hKeys` - 固定部のkey
      説明:
        カンマで複数指定できます。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
      変更履歴:
        3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得

    - #### setHeaderVals

          public void setHeaderVals(java.lang.String hVals)

      【TAG】固定部のKEY に対応する値をCSV形式で複数指定します。
      パラメータ:
        `hVals` - 固定部の値
      説明:
        カンマで複数指定で、リクエスト情報でも設定できます。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
      変更履歴:
        3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得

    - #### setFooterKeys

          public void setFooterKeys(java.lang.String ftKeys)

      【TAG】繰り返し部の終了後に表示する key 部分をCSV形式で複数指定します。
      パラメータ:
        `ftKeys` - 繰り返し部の終了後に表示するkey
      説明:
        カンマで複数指定できます。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
      変更履歴:
        3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得

    - #### setFooterVals

          public void setFooterVals(java.lang.String ftVals)

      【TAG】固定部のKEY に対応する値をCSV形式で複数指定します。
      パラメータ:
        `ftVals` - 繰り返し部の終了後に表示する値
      説明:
        カンマで複数指定で、リクエスト情報でも設定できます。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
      変更履歴:
        3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得, 3.8.1.2 (2005/12/19) footer 関連の値とpageEndCut の関係を解除します。

    - #### setPageEndCut

          public void setPageEndCut(java.lang.String peCut)

      【TAG】ページエンドカットするかどうか[true:する/false:しない]を指定します(初期値:true:カットする)。
      パラメータ:
        `peCut` - ページ終了カット [true:する/false:しない]
      説明:
        ページエンドカットとは、ボディー部(繰り返し部)がなくなったときに、それ以降の表示を打ち切る（カットする） 機能で、(true:カットする) を指定すると、それ以降を出力しません。 初期値は "true" (なくなった時点で、出力しない)です。
      変更履歴:
        3.8.1.2 (2005/12/19) footer 関連の値とpageEndCut の関係を解除します。

    - #### setFileURL

          public void setFileURL(java.lang.String url)

      【TAG】雛型のHTMLファイルの保存してある ディレクトリを指定します (初期値:FILE_URL[=filetemp/])。
      パラメータ:
        `url` - 雛型のHTMLファイルのディレクトリ
      説明:
        この属性で指定されるディレクトリのファイルを読み取ります。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、２文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 システムパラメータ の FILE_URL 属性で指定のフォルダの下に、作成されます。 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、 さらに、各個人ID別のフォルダを作成して、そこを操作します。 (初期値:FILE_URL[=filetemp/])。
      変更履歴:
        4.0.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用, 4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。, 6.4.2.1 (2016/02/05) URLの最後に、"/" を追加する処理を廃止。

    - #### setProgramFile

          public void setProgramFile(java.lang.String programFile)

      【TAG】HTMLファイルをEXCEL変換する場合に使用するBATファイルを指定します。
      パラメータ:
        `programFile` - プログラムファイル名
      説明:
        ファイルは、フルパスで指定してください。 指定がない場合は、変換処理は行いません。 通常は、dbdef2/def/Script/runExcelPrint.bat を呼び出してください。 初期値は、null(変換処理しない)です。
      変更履歴:
        3.8.0.4 (2005/08/08) 新規追加

    - #### setOutFileURL

          public void setOutFileURL(java.lang.String url)

      【TAG】出力HTMLファイルの保存してあるディレクトリを指定します (初期値:FILE_URL[=filetemp/])。
      パラメータ:
        `url` - 出力HTMLファイルのディレクトリ
      説明:
        この属性で指定されるディレクトリにファイルを出力します。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、２文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 システムパラメータ の FILE_URL 属性で指定のフォルダの下に、作成されます。 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、 さらに、各個人ID別のフォルダを作成して、そこに出力します。 (初期値:FILE_URL[=filetemp/])。
      変更履歴:
        4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。, 6.4.2.1 (2016/02/05) URLの最後に、"/" を追加する処理を廃止。

    - #### setOutFilename

          public void setOutFilename(java.lang.String filename)

      【TAG】ファイルを作成するときの出力ファイル名をセットします。
      パラメータ:
        `filename` - 出力ファイル名
      説明:
        ファイルを作成するときの出力ファイル名をセットします。

    - #### setReportClass

          public void setReportClass(java.lang.String reportClass)

      【TAG】実際に書き出すクラス名の略称(DBTableReport_**** の ****)をセットします(初期値:HTML)。
      パラメータ:
        `reportClass` - クラス名(の略称)
      関連項目:
        `DBTableReportのサブクラス`
      説明:
        これは、org.opengion.hayabusa.report 以下の DBTableReport_**** クラスの **** を 与えます。これらは、DBTableReport インターフェースを継承したサブクラスです。 初期値は、"HTML" です。 属性クラス定義の `DBTableReport` を参照願います。

    - #### getTagName

          protected java.lang.String getTagName()

      タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。
      オーバーライド:
        `getTagName` クラス内 `CommonTagSupport`
      戻り値:
        タグの名称
      関連項目:
        `CommonTagSupport.getDocumentLink()`
      変更履歴:
        4.0.0.0 (2005/01/31) 新規追加
      このメソッドは、nullを返しません

    - #### toString

          public java.lang.String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `CommonTagSupport`
      戻り値:
        このクラスの文字列表現
      このメソッドは、nullを返しません

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.