public class WriteTableTag extends CommonTagSupport
●形式:
<og:writeTable
fileURL = "{@USER.ID}" 保存先ディレクトリ名
filename = "{@filename}" 保存ファイル名
encode = "UnicodeLittle" 保存ファイルエンコード名
/>
●body:あり(writeTableParam)
●Tag定義:
<og:writeTable
writerClass 【TAG】実際に書き出すクラス名の略称(TableWriter_**** クラスの ****)を指定します(初期値:Default)
separator 【TAG】可変長ファイルを作成するときの項目区切り文字をセットします (初期値:TableWriter#TAB_SEPARATOR[= ])
headerSequence 【TAG】DBTableModelの出力順(LNSCD など)をセットします
fileURL 【TAG】ファイル保存先ディレクトリ名を指定します
filename 【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])
encode 【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=UnicodeLittle])
fileAppend 【TAG】追加モードで書き込むかどうか[true/false]を指定します(初期値:false[新規モード])
direct 【廃止】結果をダイレクトにEXCEL起動するかどうか[true/false]を指定します(初期値:false[ファイル])
zip 【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか[true/false]を指定します(初期値:false)
tableId 【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID
scope 【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
disposition 【TAG】Content-Disposition (inline:埋め込む/attachment:ダイアログを起動)を指定します(初期値:attachment)
sheetName 【TAG】EXCELファイルを書き出すときのシート名を設定します
refSheetName 【TAG】EXCEL雛型参考ファイルのシート名を設定します
refFileURL 【TAG】EXCEL雛型参照ファイルのディレクトリ名をセットします
refFilename 【TAG】EXCEL雛型参考ファイル名をセットします
useNumber 【TAG】行番号情報を、出力する/しない[true/false]を指定します(初期値:true)
columns 【TAG】書き込み先ファイルのカラム列を、外部(タグ)より指定します
useRenderer 【TAG】書込処理でコードリソースのラベル変換を行うかどうかを指定します (初期値:USE_TABLE_WRITER_RENDERER[=false])
fontName 【TAG】EXCEL出力時のデフォルトフォント名を設定します (初期値:TABLE_WRITER_DEFAULT_FONT_NAME[=MS Pゴシック])
fontPoint 【TAG】EXCEL出力時のデフォルトフォントポイント数を設定します
language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します
debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
> ... Body ...
</og:writeTable>
●使用例
<og:writeTable ・・・・・ >
<og:writeTableParam
key = "Tablename" value="GE12"
/>
<og:writeTableParam
key = "First" First:最初に登録
>
insert into GE12bk
select * from GE12
where SYSTEM_ID='**'
</og:writeTableParam
<og:writeTableParam
key = "First" First:の2番目に登録
>
delete from GE12 where SYSTEM_ID='**' and KBSAKU='0'
</og:writeTableParam
<og:writeTableParam
key = "Last" Last:最後に登録
>
update GE12 set XXXX='YYYY' where SYSTEM_ID='**' and KBSAKU='0'
</og:writeTableParam
</og:writeTableParambodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_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(String clms)
【TAG】書き込み先ファイルのカラム列を、外部(タグ)より指定します。
|
void |
setDirect(String flag)
推奨されていません。
結果をダイレクトするとエンコード等でおかしな動きをする可能性がある。
|
void |
setDisposition(String pos)
【TAG】Content-Disposition (inline:埋め込む/attachment:ダイアログを起動)を指定します(初期値:attachment)。
|
void |
setEncode(String enc)
【TAG】ファイルを作成するときのファイルエンコーディング名をセットします
(初期値:FILE_ENCODE[=UnicodeLittle])。
|
void |
setFileAppend(String flag)
【TAG】追加モードで書き込むかどうか[true/false]を指定します(初期値:false[新規モード])。
|
void |
setFilename(String filename)
【TAG】ファイルを作成するときのファイル名をセットします
(初期値:FILE_ENCODE[=UnicodeLittle])。
|
void |
setFileURL(String url)
【TAG】ファイル保存先ディレクトリ名を指定します。
|
void |
setFontName(String name)
【TAG】EXCEL出力時のデフォルトフォント名を設定します
(初期値:TABLE_WRITER_DEFAULT_FONT_NAME[=MS Pゴシック])。
|
void |
setFontPoint(String point)
【TAG】EXCEL出力時のデフォルトフォントポイント数を設定します。
|
void |
setHeaderSequence(String hs)
【TAG】DBTableModelの出力順(LNSCD など)をセットします。
|
void |
setRefFilename(String filename)
【TAG】EXCEL雛型参考ファイル名をセットします。
|
void |
setRefFileURL(String url)
【TAG】EXCEL雛型参照ファイルのディレクトリ名をセットします。
|
void |
setRefSheetName(String sheet)
【TAG】EXCEL雛型参考ファイルのシート名を設定します。
|
void |
setSeparator(String separator)
【TAG】可変長ファイルを作成するときの項目区切り文字をセットします
(初期値:TableWriter#TAB_SEPARATOR[= ])。
|
void |
setSheetName(String sheet)
【TAG】EXCELファイルを書き出すときのシート名を設定します。
|
void |
setTableId(String tableId)
【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID。
|
void |
setUseNumber(String useNo)
【TAG】行番号情報を、出力する/しない[true/false]を指定します(初期値:true)。
|
void |
setUseRenderer(String flag)
【TAG】書込処理でコードリソースのラベル変換を行うかどうかを指定します
(初期値:USE_TABLE_WRITER_RENDERER[=false])。
|
void |
setWriterClass(String writerClass)
【TAG】実際に書き出すクラス名の略称(TableWriter_**** クラスの ****)を指定します(初期値:Default)。
|
void |
setZip(String flag)
【TAG】結果をファイルに出力するときに、ZIPで圧縮するかどうか[true/false]を指定します(初期値:false)。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
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, 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, useXssCheckdoInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParent, setPageContext, setParentpublic int doStartTag()
doStartTag インタフェース内 TagdoStartTag クラス内 CommonTagSupportpublic int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 CommonTagSupport| 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) 画面帳票作成機能対応 |
| 5.5.2.0 (2012/05/01) ZIP時にもencodeが有効にする |
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) 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 属性追加 |
public void setTableId(String tableId)
tableId - sessionに登録する時の ID表示処理後に,(内部ポインタを書き換えた)DBTableModelオブジェクトを 同じキーで、sessionに登録します。 初期値は、HybsSystem.TBL_MDL_KEY です。
public void setSeparator(String separator)
separator - 項目区切り文字TableWriter.TAB_SEPARATOR 可変長ファイルを作成するときの項目区切り文字をセットします。
(初期値:TableWriter#TAB_SEPARATOR[={@og.value TableWriter#TAB_SEPARATOR}])。public void setHeaderSequence(String hs)
hs - 出力順 (LNSCD など)Label,Name,Size,Class,Data の各フィールドの頭文字のアルファベットで 出力順を設定します。
public void setRefFileURL(String url)
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"/"で終わっていない場合に、"/"を付加する。 |
public void setFileURL(String 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"/"で終わっていない場合に、"/"を付加する。 |
public void setFilename(String filename)
filename - ファイル名SystemData.FILE_ENCODE ファイルを作成するときのファイル名をセットします。
(初期値:システム定数のFILE_ENCODE[={@og.value org.opengion.hayabusa.common.SystemData#FILE_ENCODE}])。public void setRefFilename(String filename)
filename - EXCEL雛型参考ファイル名EXCEL雛型参考ファイル名をセットします。
| 3.5.4.3 (2004/01/05) 新規作成 |
public void setEncode(String enc)
enc - ファイルエンコーディング名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 から、エンコード情報を取得する。 |
public void setWriterClass(String writerClass)
writerClass - クラス名(の略称)TableWriterのサブクラス実際に書き出すクラス名(の略称)をセットします。 これは、org.opengion.hayabusa.io 以下の TableWriter_**** クラスの **** を 与えます。これらは、TableWriter インターフェースを継承したサブクラスです。 属性クラス定義の TableWriter を参照願います。
public void setFileAppend(String flag)
flag - [true:追加モード/それ以外:新規モード]DBTableModelのファイルを、追加モードで書き込むかどうかをセットします。
@Deprecated public void setDirect(String flag)
flag - [true:ダイレクト/それ以外:ファイル]結果をダイレクトに EXCEL ファイルとして出力するかどうかをセットします。
public void setZip(String flag)
flag - ZIPで圧縮する [true:圧縮する/それ以外:しない]初期値は、圧縮しないです。
public void setDisposition(String pos)
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 |
public void setSheetName(String sheet)
sheet - EXCELファイルのシート名EXCELファイルを書き出す時に、シート名を指定します。これにより、複数の形式の 異なるデータを順次書き出したり(appendモードを併用)することや、シートを指定して 新規にEXCELを作成することが可能になります。 初期値は、Sheet1 です。
| 3.5.4.2 (2003/12/15) 新規追加 |
public void setRefSheetName(String sheet)
sheet - EXCEL雛型参考ファイルのシート名EXCELファイルを書き出す時に、雛型として参照するシート名を指定します。 これにより、複数の形式の異なるデータを順次書き出したり(appendモードを併用)する ことや、シートを指定して新規にEXCELを作成する場合にフォームを設定する事が可能になります。 初期値は、null(第一シート) です。
| 3.5.4.3 (2004/01/05) 新規追加 |
public void setFontName(String name)
name - デフォルトフォント名SystemData.TABLE_WRITER_DEFAULT_FONT_NAME これは、EXCEL追加機能として実装されています。
EXCELファイルを書き出す時に、デフォルトフォント名を指定します。
フォント名は、EXCELのフォント名をそのまま使用してください。
内部的に、POI の org.apache.poi.hssf.usermodel.HSSFFont#setFontName( String )
に設定されます。
(初期値:システム定数のTABLE_WRITER_DEFAULT_FONT_NAME[={@og.value org.opengion.hayabusa.common.SystemData#TABLE_WRITER_DEFAULT_FONT_NAME}])。| 3.8.5.3 (2006/08/07) 新規追加 |
public void setFontPoint(String point)
point - デフォルトフォントポイント数これは、EXCEL追加機能として実装されています。 EXCELファイルを書き出す時に、デフォルトポイント数を指定します。 内部的に、POI の org.apache.poi.hssf.usermodel.HSSFFont#setFontHeightInPoints( short ) に設定されます。 初期値は、システムリソース の TABLE_WRITER_DEFAULT_FONT_POINTS です。
| 3.8.5.3 (2006/08/07) 新規追加 |
public void setUseNumber(String useNo)
useNo - 行番号情報を指定 [true:出力する/false:しない]通常のフォーマットでは、各行の先頭に行番号を出力します。 これは、#NAME 属性を使用する場合には、必ず出力する必要があります。 (#NAME 属性は、読み取り時には、必須です。) この、先頭の行番号が不要な場合(つまり、他のシステムへのデータ出力、 このシステムでは、#NAME 属性が出力されないため、読み込みできません。) この行番号を出力しないようにできます。 なお、EXCEL 出力には、この設定は適用されません。(暫定対応) 初期値は、true(出力する) です。
| 3.7.0.2 (2005/02/14) 新規追加 |
public void setColumns(String clms)
clms - 書き込み先ファイルのカラム列(カンマ区切り文字)この指定により、書き込むカラムを限定的に使用することが可能です。 カラム名は、検索したDBTableModel上に含まれる名前で指定する必要があります。 別名で書き込みたい場合は、予めその名前で検索しておく必要があります。
| 4.0.0 (2005/12/31) 新規作成 |
public void setUseRenderer(String flag)
flag - コードリソースのラベル変換を行うかどうかSystemData.USE_TABLE_WRITER_RENDERER コードリソースをそのままの値で出力すると、数字や記号になり何が書かれているのか
不明になります。
これは、コードリソースをラベルに変換して出力するかどうかを指定します。
当然、コードはユニークですが、ラベルはユニークになるかどうか保障はされていませんので
TableReader 系で読み込む場合には、リスクが発生します。
また、TableReader 系で読み込む場合にも、ラベルからコードを求める逆変換を行うように、
setUseRenderer メソッドで指定する必要があります。
従来は、TableWriter 系に、TableWriter_Renderer 系のクラスを作って対応していましたが、
このメソッドの属性値のフラグで、制御します。
(初期値:システム定数のUSE_TABLE_WRITER_RENDERER[={@og.value org.opengion.hayabusa.common.SystemData#USE_TABLE_WRITER_RENDERER}])。| 5.2.1.0 (2010/10/01) 新規作成 |
protected void addParam(HybsEntry entry)
entry - HybsEntryオブジェクトWriteTableParamTag クラスよりセットされます。
| 4.0.0 (2005/02/28) 新規追加 |
public String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.