openGionopenGion
5.5.0.1

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:あり

 ●使用例
     <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検索する場合のフェッチするサイズ
     >
        <jsp:text> SELECT * FROM ZYXX </jsp:text>
     </og:directWriteTable >

     <og:directWriteTable
         fileURL     = "{@USER.ID}"    保存先ディレクトリ名
         filename    = "{@filename}"   保存ファイル名
         names       = "AAA,BBB,CCC,・・・"    指定のキーに対応するリクエスト値を ARG_ARRAY にセットします。
         queryType   = "JDBCErrMsg"         JDBCErrMsg 形式のPL/SQL をコールします。
     >
        <jsp:text > { call PL/SQL(?,?,?,? ) } </jsp:text>
     </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)。
 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)。
 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)を指定します(初期値:JDBC)。
 void setSeparator(java.lang.String sep)
          【TAG】可変長ファイルを作成するときの項目区切り文字をセットします(初期値:TAB_SEPARATOR)。
 void setUseHeader(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, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, 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
戻り値:
int 後続処理の指示( EVAL_BODY_BUFFERED )

doAfterBody

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

定義:
インタフェース javax.servlet.jsp.tagext.IterationTag 内の doAfterBody
オーバーライド:
クラス CommonTagSupport 内の doAfterBody
戻り値:
int 後続処理の指示(SKIP_BODY)
変更履歴:
3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。

doEndTag

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

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doEndTag
オーバーライド:
クラス CommonTagSupport 内の doEndTag
戻り値:
int 後続処理の指示
変更履歴:
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 に変更

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 - 項目区切り文字
説明:
 可変長ファイルを作成するときの項目区切り文字をセットします。

setFileURL

public void setFileURL(java.lang.String url)
【TAG】保存先ディレクトリ名を指定します(初期値:システムパラメータのFILE_URL)。

パラメータ:
url - 保存先ディレクトリ名
説明:
 この属性で指定されるディレクトリに、ファイルをセーブします。
 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、
 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、
 システムパラメータ の FILE_URL 属性で指定のフォルダの下に、作成されます。
 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、
 さらに、各個人ID別のフォルダを作成して、そこにセーブします。
変更履歴:
3.5.4.3 (2004/01/05) 内部処理を、makeFileURL に移動。
4.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)。

パラメータ:
enc - ファイルエンコーディング名
関連項目:
IANA Charset Registry
説明:
 "DEFAULT","JISAutoDetect" ,"JIS", "EUC_JP", "MS932", "SJIS" , "Windows-31J" , "Shift_JIS"
変更履歴:
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)。

パラメータ:
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)を指定します(初期値:JDBC)。

パラメータ:
id - Query を発行する為の実クラス ID
説明:
 ストアドプロシージャ等を実行する場合に、queryType="JDBCErrMsg" を
 指定する必要があります。(それ以外の指定は、初期値の JDBC になります。)
 初期値は、"JDBC" です。
変更履歴:
3.6.1.0 (2005/01/05) PL/SQLコール(JDBCErrMsg 形式)への対応

toString

public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

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

openGion 5.5.0.1

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