概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.6.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.taglib
クラス DirectWriteTableTag

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

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

    public class DirectWriteTableTag

extends CommonTagSupport

SELECT文を直接実行して、指定のファイルに出力するタグです。 中間の、データ(DBTableModel)を作成しないため、余計なメモリを取らず、 高速にデータを抜き出すことが可能です。 一方、抜き出すデータは生データのため、データの再利用等、システム的な 使用を想定しています。 JDBCErrMsg 形式のPL/SQL をコールして、その検索結果(カーソル)を抜きこともできます。 ※ このタグは、Transaction タグの対象です。

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

       ●形式：<og:directWriteTable filename="[･･･]" ･･･ >SELECT * FROM ZYXX </og:directWriteTable >
       ●body：あり

       ●Tag定義：
         <og:directWriteTable
             fileURL            【TAG】保存先ディレクトリ名を指定します (初期値:FILE_URL[=filetemp/])
             filename           【TAG】ファイルを作成するときのファイル名をセットします(初期値:システムパラメータのFILE_FILENAME)
             zipFilename        【TAG】ZIPファイルを作成するときのZIPファイル名をセットします(初期値:filename + ".zip")
             encode             【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])
             fileAppend         【TAG】追加モードで書き込むかどうか[true/false]を指定します(初期値:false[通常モード])
             zip                【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか[true/false]を指定します(初期値:false)
             separator          【TAG】可変長ファイルを作成するときの項目区切り文字をセットします (初期値:TAB_SEPARATOR[= ])
             useHeader          【TAG】ヘッダーを書き込むかどうか[true/false]を指定します(初期値:true)
             displayMsg         【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します(初期値:MSG0033[　件検索しました])
             notfoundMsg        【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])
             fetchSize          【TAG】(通常は使いません)データのフェッチサイズを指定します(初期値:100)
             names              【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します
             queryType          【TAG】Query を発行する為のクラスID(JDBC,JDBCErrMsg)を指定します({@og.doc03Link queryType 初期値:JDBC})
             dbid               【TAG】(通常は使いません)検索時のDB接続IDを指定します(初期値:DEFAULT)
             useNumber          【TAG】行番号を出力するかどうか(初期値:true)
             debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
         >   ... Body ...
         </og:directWriteTable>

       ●使用例
           <og:directWriteTable
               dbid        = "ORCL"               接続データベースID(初期値:DEFAULT)
               separator   = ","                  ファイルの区切り文字(初期値:タブ)
               fileURL     = "{@USER.ID}"    保存先ディレクトリ名
               filename    = "{@filename}"   保存ファイル名
               encode      = "UnicodeLittle"      保存ファイルエンコード名
               useHeader   = "true"               保存ファイルにヘッダーを出力するかどうか
               zip         = "true"               ZIPファイルに圧縮するかどうか
               zipFilename = "Sample.zip"         ZIPファイルのファイル名
               fileAppend  = "true"               ファイルを追加モードで登録するかどうか
               displayMsg  = "MSG0033"            実行後の表示メッセージ
               fetchSize   = "200"                DB検索する場合のフェッチするサイズ
           >
               SELECT * FROM ZYXX
           </og:directWriteTable >

           <og:directWriteTable
               fileURL     = "{@USER.ID}"    保存先ディレクトリ名
               filename    = "{@filename}"   保存ファイル名
               names       = "AAA,BBB,CCC,･･･"    指定のキーに対応するリクエスト値を ARG_ARRAY にセットします。
               queryType   = "JDBCErrMsg"         JDBCErrMsg 形式のPL/SQL をコールします。
           >
              { call PL/SQL(?,?,?,? ) }
           </og:directWriteTable >

変更履歴:

  3.5.6.0 (2004/06/18) 新規作成
  3.6.1.0 (2005/01/05) PL/SQLコール(JDBCErrMsg 形式)の実行を追加

機能階層
  ファイル出力
バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要

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

コンストラクタの概要
`DirectWriteTableTag()`

メソッドの概要
`int` | `doAfterBody()` Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
`int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
`int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
`protected void` | `release2()` タグリブオブジェクトをリリースします。
`void` | `setDbid(java.lang.String id)` 【TAG】(通常は使いません)検索時のDB接続IDを指定します(初期値:DEFAULT)。
`void` | `setDisplayMsg(java.lang.String id)` 【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します(初期値:MSG0033[　件検索しました])。
`void` | `setEncode(java.lang.String enc)` 【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])。
`void` | `setFetchSize(java.lang.String size)` 【TAG】(通常は使いません)データのフェッチサイズを指定します(初期値:100)。
`void` | `setFileAppend(java.lang.String flag)` 【TAG】追加モードで書き込むかどうか[true/false]を指定します(初期値:false[通常モード])。
`void` | `setFilename(java.lang.String fname)` 【TAG】ファイルを作成するときのファイル名をセットします(初期値:システムパラメータのFILE_FILENAME)。
`void` | `setFileURL(java.lang.String url)` 【TAG】保存先ディレクトリ名を指定します (初期値:FILE_URL[=filetemp/])。
`void` | `setNames(java.lang.String nm)` 【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します。
`void` | `setNotfoundMsg(java.lang.String id)` 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
`void` | `setQueryType(java.lang.String id)` 【TAG】Query を発行する為のクラスID(JDBC,JDBCErrMsg)を指定します(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=5.6.6.0&VALUENAME=queryType" target="CONTENTS">初期値:JDBC</a>)。
`void` | `setSeparator(java.lang.String sep)` 【TAG】可変長ファイルを作成するときの項目区切り文字をセットします (初期値:TAB_SEPARATOR[= ])。
`void` | `setUseHeader(java.lang.String flag)` 【TAG】ヘッダーを書き込むかどうか[true/false]を指定します(初期値:true)。
`void` | `setUseNumber(java.lang.String flag)` 【TAG】ファイルに行番号を出力するかどうか(初期値:true)
`void` | `setZip(java.lang.String flag)` 【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか[true/false]を指定します(初期値:false)。
`void` | `setZipFilename(java.lang.String zipFile)` 【TAG】ZIPファイルを作成するときのZIPファイル名をセットします(初期値:filename + ".zip")。
`java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
`add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, 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`

コンストラクタの詳細

### DirectWriteTableTag

    public DirectWriteTableTag()

メソッドの詳細

### doStartTag

    public int doStartTag()

  Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.Tag` 内の `doStartTag`
  オーバーライド:
    クラス `CommonTagSupport` 内の `doStartTag`
  戻り値:
    後続処理の指示( EVAL_BODY_BUFFERED )

### doAfterBody

    public int doAfterBody()

  Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.IterationTag` 内の `doAfterBody`
  オーバーライド:
    クラス `CommonTagSupport` 内の `doAfterBody`
  戻り値:
    後続処理の指示(SKIP_BODY)
  変更履歴:

    3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。

### doEndTag

    public int doEndTag()

  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.Tag` 内の `doEndTag`
  オーバーライド:
    クラス `CommonTagSupport` 内の `doEndTag`
  戻り値:
    後続処理の指示
  変更履歴:

    3.6.1.0 (2005/01/05) PL/SQLコール(JDBCErrMsg 形式)への対応
    4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage > getResource().getLabel )

### release2

    protected void release2()

  タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。

  オーバーライド:
    クラス `CommonTagSupport` 内の `release2`
  変更履歴:

    3.6.1.0 (2005/01/05) PL/SQLコール(JDBCErrMsg 形式)への対応
    4.0.0.0 (2007/10/10) dbid の初期値を、"DEFAULT" から null に変更
    5.5.7.1 (2012/10/05) useNumber追加

### setDbid

    public void setDbid(java.lang.String id)

  【TAG】(通常は使いません)検索時のDB接続IDを指定します(初期値:DEFAULT)。

  パラメータ:
    `id` - データベース接続ID
  説明:

         検索時のDB接続IDを指定します。初期値は、DEFAULT です。

### setSeparator

    public void setSeparator(java.lang.String sep)

  【TAG】可変長ファイルを作成するときの項目区切り文字をセットします (初期値:TAB_SEPARATOR[= ])。

  パラメータ:
    `sep` - 項目区切り文字
  関連項目:
    `TAB_SEPARATOR`
  説明:

         可変長ファイルを作成するときの項目区切り文字をセットします。
         (初期値:ローカル定義のTAB_SEPARATOR[={@og.value #TAB_SEPARATOR}])。

### setFileURL

    public void setFileURL(java.lang.String url)

  【TAG】保存先ディレクトリ名を指定します (初期値:FILE_URL[=filetemp/])。

  パラメータ:
    `url` - 保存先ディレクトリ名
  関連項目:
    `SystemData.FILE_URL`
  説明:

         この属性で指定されるディレクトリに、ファイルをセーブします。
         指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、２文字目が、
         ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、
         fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、
         さらに、各個人ID別のフォルダを作成して、そこにセーブします。
         (初期値:システム定数のFILE_URL[={@og.value org.opengion.hayabusa.common.SystemData#FILE_URL}])。

  変更履歴:

    3.5.4.3 (2004/01/05) 内部処理を、makeFileURL に移動。
    4.0.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用
    4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。

### setFilename

    public void setFilename(java.lang.String fname)

  【TAG】ファイルを作成するときのファイル名をセットします(初期値:システムパラメータのFILE_FILENAME)。

  パラメータ:
    `fname` - ファイル名
  説明:

         ファイルを作成するときのファイル名をセットします。

### setZipFilename

    public void setZipFilename(java.lang.String zipFile)

  【TAG】ZIPファイルを作成するときのZIPファイル名をセットします(初期値:filename + ".zip")。

  パラメータ:
    `zipFile` - ZIPファイル名
  関連項目:
    `setZip( String )`
  説明:

         zip 属性に、true を指定した場合に、ZIPファイル化します。その場合のファイル名を指定します。
         なにも指定しない場合は、filename + ".zip" になります。

### setEncode

    public void setEncode(java.lang.String enc)

  【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])。

  パラメータ:
    `enc` - ファイルエンコーディング名
  関連項目:
    IANA Charset Registry, `SystemData.FILE_ENCODE`
  説明:

         "DEFAULT","JISAutoDetect" ,"JIS", "EUC_JP", "MS932", "SJIS" , "Windows-31J" , "Shift_JIS"
         (初期値:システム定数のFILE_ENCODE[={@og.value org.opengion.hayabusa.common.SystemData#FILE_ENCODE}])。

  変更履歴:

    2.2.0.0 (2002/12/17) 中国語(国際化)対応 エンコードの取得方法変更
    3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。

### setUseHeader

    public void setUseHeader(java.lang.String flag)

  【TAG】ヘッダーを書き込むかどうか[true/false]を指定します(初期値:true)。

  パラメータ:
    `flag` - ヘッダーを書き込むかどうか [true:書き込む/false:書き込まない]
  説明:

         #Name ････ ヘッダーの書き込みを指定します。
         通常は、書き込み(true)にしておき、使用側でコメントと解釈するように
         処理を行うべきです。コメントのため、append モードで途中に現れても
         無視できます。また、エンジン標準でデータを取り込む場合に、データの配置が
         変更されても取り込みプログラムはそのまま使用できます。
         初期値は、true(書き込む)です。

### setFileAppend

    public void setFileAppend(java.lang.String flag)

  【TAG】追加モードで書き込むかどうか[true/false]を指定します(初期値:false[通常モード])。

  パラメータ:
    `flag` - [true:追加モード/false:新規モード]
  説明:

         ファイルを書き込む場合、追加モードで書き込むかどうかをセットします。
         新規モード(true)の場合、既存のファイルが存在し、かつ書き込み許可があれば、
         上書きで新規に作成します。
         初期値は、false(新規モード)です。

### setZip

    public void setZip(java.lang.String flag)

  【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか[true/false]を指定します(初期値:false)。

  パラメータ:
    `flag` - ZIPで圧縮 [true:する/それ以外:しない]
  関連項目:
    `setZipFilename( String )`
  説明:

         大量に抜き出す場合、そのまま、サーバーから取り出すだけでも大変です。
         zip 属性を、true にすると、GZIP で圧縮したファイルを作成します。
         初期値は、false(圧縮しない)です。

### setDisplayMsg

    public void setDisplayMsg(java.lang.String id)

  【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します(初期値:MSG0033[　件検索しました])。

  パラメータ:
    `id` - ディスプレイに表示させるメッセージ ID
  説明:

         ここでは、検索結果の件数や登録された件数をまず出力し、
         その次に、ここで指定したメッセージをリソースから取得して
         表示します。
         表示させたくない場合は, displayMsg = "" をセットしてください。
         初期値は、検索件数を表示します。

### setNotfoundMsg

    public void setNotfoundMsg(java.lang.String id)

  【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。

  パラメータ:
    `id` - ディスプレイに表示させるメッセージ ID
  説明:

         ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。
         従来は、displayMsg と兼用で、『0　件検索しました』という表示でしたが、
         displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。
         表示させたくない場合は, notfoundMsg = "" をセットしてください。
         初期値は、MSG0077[対象データはありませんでした]です。

### setFetchSize

    public void setFetchSize(java.lang.String size)

  【TAG】(通常は使いません)データのフェッチサイズを指定します(初期値:100)。

  パラメータ:
    `size` - フェッチする行数(初期値:100)
  説明:

         より多くの行が必要なときに、データベースから取り出す必要がある行数に
         ついてのヒントを JDBC ドライバに提供します。
         指定された行数は、この Statement を使って作成された結果セットにだけ影響します。
         指定された値が 0 の場合、ヒントは無視されます。
         初期値は、100 です。

### setNames

    public void setNames(java.lang.String nm)

  【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します。

  パラメータ:
    `nm` - 引数の名称(複数ある場合は、カンマ区切り文字)
  説明:

         複数ある場合は、カンマ区切り文字で渡します。
         PL/SQL を使用しない場合は、無視されます。

  変更履歴:

    3.6.1.0 (2005/01/05) PL/SQLコール(JDBCErrMsg 形式)への対応

### setQueryType

    public void setQueryType(java.lang.String id)

  【TAG】Query を発行する為のクラスID(JDBC,JDBCErrMsg)を指定します(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=5.6.6.0&VALUENAME=queryType" target="CONTENTS">初期値:JDBC</a>)。

  パラメータ:
    `id` - Query を発行する為の実クラス ID
  説明:

         ストアドプロシージャ等を実行する場合に、queryType="JDBCErrMsg" を
         指定する必要があります。(それ以外の指定は、初期値の JDBC になります。)
         初期値は、"JDBC" です。
         {@og.doc03Link queryType Query_**** クラス}

  変更履歴:

    3.6.1.0 (2005/01/05) PL/SQLコール(JDBCErrMsg 形式)への対応

### setUseNumber

    public void setUseNumber(java.lang.String flag)

  【TAG】ファイルに行番号を出力するかどうか(初期値:true)

  パラメータ:
    `flag` - 行番号出力 [true:する/それ以外:しない]
  説明:

         ファイルに行番号を出力するかどうかを指定します。
         初期値は、true(出力する)です。

  変更履歴:

    5.5.7.1 (2012/10/05) 新規追加

### toString

    public java.lang.String toString()

  このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

  オーバーライド:
    クラス `CommonTagSupport` 内の `toString`
  戻り値:
    このクラスの文字列表現

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.6.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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