openGionopenGion
5.4.3.2

org.opengion.hayabusa.taglib
クラス WriteTableTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 javax.servlet.jsp.tagext.BodyTagSupport
          上位を拡張 org.opengion.hayabusa.taglib.CommonTagSupport
              上位を拡張 org.opengion.hayabusa.taglib.WriteTableTag
すべての実装されたインタフェース:
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 WriteTableTag
extends CommonTagSupport

DBTableModel オブジェクトを指定のファイルに出力するタグです。 データ(DBTableModel)と、コントローラ(WriteTableTagForm)を与えて、 外部からコントロールすることで、各種形式で データ(DBTableModel)を表示できます。 writeTableタグ に対して、コマンドを与えることにより、内部のコントローラの 実装に対応した、 形式でデータを作成します。

関連項目:
直列化された形式
形式サンプル:
 ●形式:
     <og:writeTable
         fileURL   = "{@USER.ID}"    保存先ディレクトリ名
         filename  = "{@filename}"   保存ファイル名
         encode    = "UnicodeLittle"      保存ファイルエンコード名
     />

 ●body:あり(writeTableParam)

 ●使用例
     <og:writeTable ・・・・・ >
         <og:writeTableParam
             key  = "Tablename"  value="GE12"
         />
         <og:writeTableParam
             key  = "First"             First:最初に登録
         >
              <jsp:text>
                      insert into GE12bk
                         select * from GE12
                         where SYSTEM_ID='**'
              </jsp:text>
         </og:writeTableParam
         <og:writeTableParam
             key  = "First"             First:の2番目に登録
         >
              <jsp:text>delete from GE12 where SYSTEM_ID='**' and KBSAKU='0'</jsp:text>
         </og:writeTableParam
         <og:writeTableParam
             key  = "Last"              Last:最後に登録
         >
              <jsp:text>update GE12 set XXXX='YYYY' where SYSTEM_ID='**' and KBSAKU='0'</jsp:text>
         </og:writeTableParam
     </og:writeTableParam
機能階層
ファイル出力
バージョン
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
 
コンストラクタの概要
WriteTableTag()
           
 
メソッドの概要
protected  void addParam(HybsEntry entry)
          WriteTable オブジェクトに渡すパラメータオブジェクトをセットします。
 int doEndTag()
          Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
 int doStartTag()
          Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
protected  void release2()
          タグリブオブジェクトをリリースします。
 void setColumns(java.lang.String clms)
          【TAG】書き込み先ファイルのカラム列を、外部(タグ)より指定します。
 void setDirect(java.lang.String flag)
          推奨されていません。 結果をダイレクトするとエンコード等でおかしな動きをする可能性がある。
 void setDisposition(java.lang.String pos)
          【TAG】Content-Disposition (埋め込む:inline,ダイアログを起動:attachment)を指定します(初期値:attachment)。
 void setEncode(java.lang.String enc)
          【TAG】ファイルを作成するときのファイルエンコーディング名をセットします(初期値:システムパラメータ の FILE_ENCODE)。
 void setFileAppend(java.lang.String flag)
          【TAG】追加モードで書き込むかどうか(true/false)を指定します(初期値:false[通常モード])。
 void setFilename(java.lang.String filename)
          【TAG】ファイルを作成するときのファイル名をセットします(初期値:システムパラメータ の FILE_FILENAME)。
 void setFileURL(java.lang.String url)
          【TAG】ファイル保存先ディレクトリ名を指定します。
 void setFontName(java.lang.String name)
          【TAG】EXCEL出力時のデフォルトフォント名を設定します。
 void setFontPoint(java.lang.String point)
          【TAG】EXCEL出力時のデフォルトフォントポイント数を設定します。
 void setHeaderSequence(java.lang.String hs)
          【TAG】DBTableModelの出力順(LNSCD など)をセットします。
 void setRefFilename(java.lang.String filename)
          【TAG】EXCEL雛型参考ファイル名をセットします。
 void setRefFileURL(java.lang.String url)
          【TAG】EXCEL雛型参照ファイルのディレクトリ名をセットします。
 void setRefSheetName(java.lang.String sheet)
          【TAG】EXCEL雛型参考ファイルのシート名を設定します。
 void setSeparator(java.lang.String separator)
          【TAG】可変長ファイルを作成するときの項目区切り文字をセットします(初期値:TableWriter.TAB_SEPARATOR)。
 void setSheetName(java.lang.String sheet)
          【TAG】EXCELファイルを書き出すときのシート名を設定します。
 void setTableId(java.lang.String tableId)
          【TAG】(通常使いません)sessionから所得する DBTableModel オブジェクトの ID。
 void setUseNumber(java.lang.String useNo)
          【TAG】行番号情報を、出力する(true)/しない(false)を指定します。
 void setUseRenderer(java.lang.String flag)
          【TAG】書込処理でコードリソースのラベル変換を行うかどうかを指定します。
 void setWriterClass(java.lang.String writerClass)
          【TAG】実際に書き出すクラス名の略称(TableWriter_**** クラスの ****)を指定します(初期値:Default)。
 void setZip(java.lang.String flag)
          【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか(true/false)を指定します(初期値:false)。
 java.lang.String toString()
          このオブジェクトの文字列表現を返します。
 
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, 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
 

コンストラクタの詳細

WriteTableTag

public WriteTableTag()
メソッドの詳細

doStartTag

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

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

doEndTag

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

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doEndTag
オーバーライド:
クラス CommonTagSupport 内の doEndTag
戻り値:
int 後続処理の指示
変更履歴:
2.1.3.1 (2002/12/13) ContentType を、x-msexcel から vnd.ms-excel に変更した。
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。
3.1.5.0 (2003/04/20) Content-Disposition を外部から指定できるように変更。
3.2.0.0 (2003/05/22) GZIPOutputStream を使用していたが、ZipOutputStream に変更。
3.5.4.1 (2003/12/01) 引数の PrintWriter を、OutputStream に変更。
3.5.4.3 (2004/01/05) 引数を、 PrintWriter に戻す。
3.6.0.2 (2004/10/04) EXCELダイレクト出力時にファイルエンドまで出力されない不具合対策
3.8.0.9 (2005/10/17) disposition属性を使用できるように変更します。
3.8.6.0 (2006/08/23) フォルダがない場合は、複数階層分のフォルダを自動で作成します。
4.3.4.3 (2008/12/22) Excel出力の判別方法を前方一致に変更
5.1.6.0 (2010/05/01) 画面帳票作成機能対応

release2

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

オーバーライド:
クラス CommonTagSupport 内の release2
変更履歴:
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) FILE_ENCODE から、エンコード情報を取得する。
3.1.5.0 (2003/04/20) Content-Disposition を外部から指定できるように変更。
3.5.4.2 (2003/12/15) EXCELのシート名を指定できるように変更。
3.5.4.3 (2004/01/05) EXCEL雛型参照ファイルのURL,filenameを追加します。
3.8.5.3 (2006/08/07) writerClass 属性の初期値をシステムリソースより取得します。
3.8.5.3 (2006/08/07) fontName 属性を追加します。
3.8.5.3 (2006/08/07) fontPoint 属性を追加します。
3.8.6.0 (2006/08/23) directory 属性を追加します。
4.0.0 (2005/02/28) XMLファイルにセットする、param を追加。
5.2.1.0 (2010/10/01) 書込処理でコードリソースのラベル変換を行うかどうか useRenderer 属性追加

setTableId

public void setTableId(java.lang.String tableId)
【TAG】(通常使いません)sessionから所得する DBTableModel オブジェクトの ID。

パラメータ:
tableId - sessionに登録する時の ID
説明:
 表示処理後に,(内部ポインタを書き換えた)DBTableModel オブジェクトを
 同じキーで、sessionに登録します。
 初期値は、HybsSystem.TBL_MDL_KEY です。

setSeparator

public void setSeparator(java.lang.String separator)
【TAG】可変長ファイルを作成するときの項目区切り文字をセットします(初期値:TableWriter.TAB_SEPARATOR)。

パラメータ:
separator - 項目区切り文字
説明:
 可変長ファイルを作成するときの項目区切り文字をセットします。

setHeaderSequence

public void setHeaderSequence(java.lang.String hs)
【TAG】DBTableModelの出力順(LNSCD など)をセットします。

パラメータ:
hs - 出力順 (LNSCD など)
説明:
 Label,Name,Size,Class,Data の各フィールドの頭文字のアルファベットで
 出力順を設定します。

setRefFileURL

public void setRefFileURL(java.lang.String url)
【TAG】EXCEL雛型参照ファイルのディレクトリ名をセットします。

パラメータ:
url - EXCEL雛型参照ファイルのディレクトリ名
説明:
 この属性で指定されるディレクトリに、ファイルをセーブします。
 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、
 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、
 システムパラメータ の FILE_URL 属性で指定のフォルダの下に、作成されます。
 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、
 さらに、各個人ID別のフォルダを作成して、そこにセーブします。
変更履歴:
3.5.4.3 (2004/01/05) 新規作成
4.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用
4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。

setFileURL

public void setFileURL(java.lang.String url)
【TAG】ファイル保存先ディレクトリ名を指定します。

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

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

setRefFilename

public void setRefFilename(java.lang.String filename)
【TAG】EXCEL雛型参考ファイル名をセットします。

パラメータ:
filename - EXCEL雛型参考ファイル名
説明:
 EXCEL雛型参考ファイル名をセットします。
変更履歴:
3.5.4.3 (2004/01/05) 新規作成

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 から、エンコード情報を取得する。

setWriterClass

public void setWriterClass(java.lang.String writerClass)
【TAG】実際に書き出すクラス名の略称(TableWriter_**** クラスの ****)を指定します(初期値:Default)。

パラメータ:
writerClass - クラス名(の略称)
関連項目:
TableWriterのサブクラス
説明:
 実際に書き出すクラス名(の略称)をセットします。
 これは、org.opengion.hayabusa.io 以下の TableWriter_**** クラスの **** を
 与えます。これらは、TableWriter インターフェースを継承したサブクラスです。
 属性クラス定義の TableWriter を参照願います。

setFileAppend

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

パラメータ:
flag - 追加モード(true)/新規(その他)
説明:
 DBTableModelのファイルを、追加モードで書き込むかどうかをセットします。

setDirect

@Deprecated
public void setDirect(java.lang.String flag)
推奨されていません。 結果をダイレクトするとエンコード等でおかしな動きをする可能性がある。

【廃止】結果をダイレクトにEXCEL起動するかどうか(true/false)を指定します(初期値:false[ファイル])。

パラメータ:
flag - ダイレクト(true)/ ファイル(その他)
説明:
 結果をダイレクトに EXCEL ファイルとして出力するかどうかをセットします。

setZip

public void setZip(java.lang.String flag)
【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか(true/false)を指定します(初期値:false)。

パラメータ:
flag - ZIPで圧縮する(true)/ しない(その他)
説明:
 初期値は、圧縮しないです。

setDisposition

public void setDisposition(java.lang.String pos)
【TAG】Content-Disposition (埋め込む:inline,ダイアログを起動:attachment)を指定します(初期値:attachment)。

パラメータ:
pos - Content-Disposition (inline/attachment)
説明:
 Content-Disposition を指定することで、ブラウザにアプリケーションデータを
 埋め込むのか(inline)、セーブ/オープンのダイアログを起動するのか(attachment)
 指定します。
 この属性が有効なのは、direct="true" で、zip="false"(初期値)のときのみです。
 値は、inline 、attachment が指定できます。
 デフォルトは、attachment です。
 注意:動作検証しましたが、inline と attachment で動作に差が現れませんでした。
変更履歴:
3.1.5.0 (2003/04/20) Content-Disposition を外部から指定できるように変更。
3.8.0.9 (2005/10/17) Content-Disposition 初期値変更 inline ⇒ attachment

setSheetName

public void setSheetName(java.lang.String sheet)
【TAG】EXCELファイルを書き出すときのシート名を設定します。

パラメータ:
sheet - EXCELファイルのシート名
説明:
 EXCELファイルを書き出す時に、シート名を指定します。これにより、複数の形式の
 異なるデータを順次書き出したり(appendモードを併用)することや、シートを指定して
 新規にEXCELを作成することが可能になります。
 初期値は、Sheet1 です。
変更履歴:
3.5.4.2 (2003/12/15) 新規追加

setRefSheetName

public void setRefSheetName(java.lang.String sheet)
【TAG】EXCEL雛型参考ファイルのシート名を設定します。

パラメータ:
sheet - EXCEL雛型参考ファイルのシート名
説明:
 EXCELファイルを書き出す時に、雛型として参照するシート名を指定します。
 これにより、複数の形式の異なるデータを順次書き出したり(appendモードを併用)する
 ことや、シートを指定して新規にEXCELを作成する場合にフォームを設定する事が可能になります。
 初期値は、null(第一シート) です。
変更履歴:
3.5.4.3 (2004/01/05) 新規追加

setFontName

public void setFontName(java.lang.String name)
【TAG】EXCEL出力時のデフォルトフォント名を設定します。(初期値:TABLE_WRITER_DEFAULT_FONT_NAME)

パラメータ:
name - String
説明:
 これは、EXCEL追加機能として実装されています。
EXCELファイルを書き出す時に、デフォルトフォント名を指定します。 フォント名は、EXCELのフォント名をそのまま使用してください。
内部的に、POI の org.apache.poi.hssf.usermodel.HSSFFont#setFontName( String ) に設定されます。 デフォルトは、システムリソース の TABLE_WRITER_DEFAULT_FONT_NAME です。
変更履歴:
3.8.5.3 (2006/08/07) 新規追加

setFontPoint

public void setFontPoint(java.lang.String point)
【TAG】EXCEL出力時のデフォルトフォントポイント数を設定します。

パラメータ:
point - short
説明:
 これは、EXCEL追加機能として実装されています。
EXCELファイルを書き出す時に、デフォルトポイント数を指定します。 内部的に、POI の org.apache.poi.hssf.usermodel.HSSFFont#setFontHeightInPoints( short ) に設定されます。 デフォルトは、システムリソース の TABLE_WRITER_DEFAULT_FONT_POINTS です。
変更履歴:
3.8.5.3 (2006/08/07) 新規追加

setUseNumber

public void setUseNumber(java.lang.String useNo)
【TAG】行番号情報を、出力する(true)/しない(false)を指定します。

パラメータ:
useNo - 行番号情報を、出力する(true)/しない(false)を指定
説明:
 通常のフォーマットでは、各行の先頭に行番号を出力します。
 これは、#NAME 属性を使用する場合には、必ず出力する必要があります。
 (#NAME 属性は、読み取り時には、必須です。)
 この、先頭の行番号が不要な場合(つまり、他のシステムへのデータ出力、
 このシステムでは、#NAME 属性が出力されないため、読み込みできません。)
 この行番号を出力しないようにできます。
 なお、EXCEL 出力には、この設定は適用されません。(暫定対応)
 初期値は、true(出力する) です。
変更履歴:
3.7.0.2 (2005/02/14) 新規追加

setColumns

public void setColumns(java.lang.String clms)
【TAG】書き込み先ファイルのカラム列を、外部(タグ)より指定します。

パラメータ:
clms - 書き込み先ファイルのカラム列(カンマ区切り文字)
説明:
 この指定により、書き込むカラムを限定的に使用することが可能です。
 カラム名は、検索したDBTableModel上に含まれる名前で指定する必要があります。
 別名で書き込みたい場合は、予めその名前で検索しておく必要があります。
変更履歴:
4.0.0 (2005/12/31) 新規作成

setUseRenderer

public void setUseRenderer(java.lang.String flag)
【TAG】書込処理でコードリソースのラベル変換を行うかどうかを指定します。(初期値:USE_TABLE_WRITER_RENDERER)

パラメータ:
flag - コードリソースのラベル変換を行うかどうか
説明:
 コードリソースをそのままの値で出力すると、数字や記号になり何が書かれているのか
 不明になります。
 これは、コードリソースをラベルに変換して出力するかどうかを指定します。
 当然、コードはユニークですが、ラベルはユニークになるかどうか保障はされていませんので
 TableReader 系で読み込む場合には、リスクが発生します。
 また、TableReader 系で読み込む場合にも、ラベルからコードを求める逆変換を行うように、
 setUseRenderer メソッドで指定する必要があります。

 従来は、TableWriter 系に、TableWriter_Renderer 系のクラスを作って対応していましたが、
 このメソッドの属性値のフラグで、制御します。
 初期値は、システム定数の USE_TABLE_WRITER_RENDERER で指定できます。
変更履歴:
5.2.1.0 (2010/10/01) 新規作成

addParam

protected void addParam(HybsEntry entry)
WriteTable オブジェクトに渡すパラメータオブジェクトをセットします。

パラメータ:
entry - HybsEntry
説明:
 WriteTableParamTag クラスよりセットされます。
変更履歴:
4.0.0 (2005/02/28) 新規追加

toString

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

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

openGion 5.4.3.2

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