public class ReadTableTag extends CommonTagSupport
指定のファイルを DBTableModelオブジェクトに読み取るファイル入力タグです。 データ(DBTableModel)と、コントローラ(ReadTableタグ)を与えて、外部からコントロールすることで、 各種形式で データ(DBTableModel)を表示させることが できます。 ReadTableタグ に対して、コマンドを与えることにより、内部のコントローラの実装に対応した 形式でデータを作成します。 すべての読取の初期クラス名を リソースファイルの TABLE_READER_DEFAULT_CLASS で指定可能です。 その場合、AutoReader を指定すると、Excel と Text(テキスト) を以下の順番で試します。 Excel,Calc,Text(UnicodeLittle),Text(Windows-31J),Text(UTF-8),Text(EUC-JP),POI UTF-8 のTEXTとWindows-31JのTEXTは、ヘッダー部での区別ができないため、正確なTextの自動読取できません。 ※ 6.2.5.0 (2015/06/05) 仕様変更 ・AutoReader で、encode を指定すると、Text(encode) を先に試します。 ・Textで、encode を指定しない場合は、システム変数の FILE_ENCODE を使用します。 入力件数を"DB.COUNT" キーでリクエストにセットしています。
●形式: <og:readTable command = "NEW" fileURL = "{@USER.ID}" 読取元ディレクトリ名 filename = "{@filename}" 読取元ファイル名 encode = "UnicodeLittle" 読取元ファイルエンコード名 maxRowCount = "10000" 読取最大件数(初期値:0:[無制限]) /> ●body:なし ●Tag定義: <og:readTable readerClass 【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします (初期値:TABLE_READER_DEFAULT_CLASS[=AutoReader]) command 【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW) fileURL 【TAG】読取元ディレクトリ名を指定します(初期値:FILE_URL) filename 【TAG】ファイルを読み出すときのファイル名をセットします (初期値:FILE_FILENAME[=file.xls]) encode 【TAG】ファイルを読み出すときのファイルエンコーディング名をセットします(初期値:FILE_ENCODE) skipRowCount 【TAG】(通常は使いません)データの読み飛ばし件数を設定します maxRowCount 【TAG】読取時の最大取り込み件数をセットします (初期値:0:[無制限]) errRowCount 【TAG】読取時の最大エラー件数をセットします (初期値:200)(0:[無制限]) separator 【TAG】可変長ファイルを読み出すときの項目区切り文字をセットします columns 【TAG】読取元ファイルのカラム列を、外部(タグ)よりCSV形式で指定します omitNames 【TAG】読取対象外のカラム列を、外部(タグ)よりCSV形式で指定します modifyType 【TAG】ファイル取り込み時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します displayMsg 【TAG】query の結果を画面上に表示するメッセージIDを指定します(初期値:VIEW_DISPLAY_MSG[=])) overflowMsg 【TAG】読取データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]) notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) ※ sheetName 【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし) ※ sheetNos 【TAG】EXCELファイルを読み込むときのシート番号を複数設定できます(初期値:0) ※ sheetConstKeys 【TAG】EXCELファイルを読み込むときの固定値となるカラム名(CSV形式) ※ sheetConstAdrs 【TAG】EXCELファイルを読み込むときの固定値となるアドレス(行-列,行-列,・・・) nullBreakClm 【TAG】カラム列に NULL が現れた時点で読取を中止します(複数Sheetの場合は、次のSheetを読みます)。 nullSkipClm 【TAG】カラム列に NULL が現れたレコードは読み飛ばします。 useNumber 【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true) useRenderer 【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します(初期値:USE_TABLE_READER_RENDERER[=false]) adjustColumns 【TAG】読取元ファイルのデータ変換を行うカラム列をカンマ指定します("*" で全カラム) checkColumns 【TAG】読取元ファイルの整合性チェックを行うカラム列をカンマ指定します("*" で全カラム) nullCheck 【TAG】NULL チェックすべきカラム列をCSV形式(CVS形式)で指定します matchKeys 【TAG】レコードの読取条件指定時のカラム列をCSV形式で指定します 6.4.6.0 (2016/05/27) matchVals 【TAG】レコードの読取条件指定時のカラム列に対応する正規表現データをCSV形式で指定します 6.4.6.0 (2016/05/27) language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します stopZero 【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する]) mainTrans 【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false) tableId 【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <og:readTable command = "NEW" readerClass = "Text" テキストファイルの読取 modifyType = "{@modifyType}" 読取時のモディファイタイプ(A,C等) fileURL = "{@USER.ID}" 読取元ディレクトリ名 filename = "{@filename}" 読取元ファイル名 encode = "Shift_JIS" 読取元ファイルエンコード名 maxRowCount = "10000" 読取最大件数(0:[無制限]) columns = "OYA,KO,HJO,SU,DYSTR,DYEND" #NAME に対応するカラム列 useNumber = "false" 行番号の存在しないデータを読取ます。 adjustColumns = "OYA,KO,HJO,SU" データ変換するカラム列("*" で全カラム) checkColumns = "OYA,KO,HJO,SU" 整合性チェックするカラム列("*" で全カラム) nullCheck = "OYA,KO,SU" NULLチェックを実行します("*" で全カラム) stopZero = "true" 取得0件の場合に以降の処理を停止します skipRowCount = "4" データの読み飛ばし件数(読み込み開始は、この数字+1行目から) />
修飾子とタイプ | クラスと説明 |
---|---|
protected static class |
ReadTableTag.ColumnAction
カラム処理を行う、内部クラス
カラム個別に行う処理をまとめたクラスです。
|
修飾子とタイプ | フィールドと説明 |
---|---|
protected ReadTableTag.ColumnAction |
clmAct |
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規作成 "NEW"
|
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
protected java.lang.String |
columns |
protected java.lang.String |
displayMsg |
protected java.lang.String |
encode |
protected int |
executeCount |
protected int |
maxRowCount |
protected java.lang.String |
nullBreakClm |
protected java.lang.String |
nullSkipClm |
protected java.lang.String |
readerClass |
protected java.lang.String |
separator |
protected java.lang.String |
sheetConstAdrs |
protected java.lang.String |
sheetConstKeys |
protected java.lang.String |
sheetName |
protected java.lang.String |
sheetNos |
protected int |
skipRowCount |
protected boolean |
sqlError |
protected boolean |
stopZero |
protected boolean |
useNumber |
BR, BUFFER_MIDDLE, CR
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
ReadTableTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
addOmitNames(java.lang.String omit)
読取対象外のカラム列を、追加指定します。
|
protected int |
afterEnd()
#doEndTag() の後続処理を記述します。
|
protected void |
create(java.io.File file)
TableReader の実オブジェクトを生成して,BufferedReader に書き込みます。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAdjustColumns(java.lang.String clms)
【TAG】読取元ファイルのデータ変換を行うカラム列をカンマ指定します。
|
void |
setCheckColumns(java.lang.String clms)
【TAG】読取元ファイルの整合性チェックを行うカラム列をカンマ指定します。
|
void |
setColumns(java.lang.String clms)
【TAG】読取元ファイルのカラム列を、外部(タグ)より指定します。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。
|
void |
setDisplayMsg(java.lang.String id)
【TAG】query の結果を画面上に表示するメッセージIDを指定します
(初期値:VIEW_DISPLAY_MSG[=])。
|
void |
setEncode(java.lang.String enc)
【TAG】ファイルを作成するときのファイルエンコーディング名をセットします
(初期値:FILE_ENCODE[=UnicodeLittle])。
|
void |
setErrRowCount(java.lang.String count)
【TAG】読取時の最大エラー件数をセットします (初期値:200)。
|
void |
setFilename(java.lang.String filename)
【TAG】ファイルを作成するときのファイル名をセットします
(初期値:FILE_FILENAME[=file.xlsx])。
|
void |
setFileURL(java.lang.String url)
【TAG】読取元ディレクトリ名を指定します
(初期値:FILE_URL[=filetemp/])。
|
void |
setMainTrans(java.lang.String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。
|
void |
setMatchKeys(java.lang.String keys)
【TAG】matchKeysをカンマ区切りで指定します。
|
void |
setMatchVals(java.lang.String vals)
【TAG】matchValsをカンマ区切りで指定します。
|
void |
setMaxRowCount(java.lang.String count)
【TAG】読取時の最大取り込み件数をセットします(初期値:0:無制限)。
|
void |
setModifyType(java.lang.String type)
【TAG】ファイル取り込み時の 更新タイプ [A:追加/C:更新/D:削除]を指定します。
|
void |
setNotfoundMsg(java.lang.String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
|
void |
setNullBreakClm(java.lang.String clm)
【TAG】ここに指定されたカラム列に NULL が現れた時点で読取を中止します。
|
void |
setNullCheck(java.lang.String clms)
【TAG】NULL チェックすべきカラム列をCSV形式(CSV形式)で指定します。
|
void |
setNullSkipClm(java.lang.String clm)
【TAG】ここに指定されたカラム列に NULL が現れたレコードは読み飛ばします。
|
void |
setOmitNames(java.lang.String clms)
【TAG】読取対象外のカラム列を、外部(タグ)よりCSV形式で指定します。
|
void |
setOverflowMsg(java.lang.String id)
【TAG】読取データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します
(初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。
|
void |
setReaderClass(java.lang.String readerCls)
【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします
(初期値:TABLE_READER_DEFAULT_CLASS[=AutoReader])。
|
void |
setSeparator(java.lang.String separator)
【TAG】可変長ファイルを作成するときの項目区切り文字をセットします。
|
void |
setSheetConstAdrs(java.lang.String constAdrs)
【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名に対応するアドレスを指定します。
|
void |
setSheetConstKeys(java.lang.String constKeys)
【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名を指定します。
|
void |
setSheetName(java.lang.String sheet)
【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし)。
|
void |
setSheetNos(java.lang.String sheet)
【TAG】EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。
|
void |
setSkipRowCount(java.lang.String count)
【TAG】(通常は使いません)データの読み飛ばし件数を設定します。
|
void |
setStopZero(java.lang.String cmd)
【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setUseNumber(java.lang.String useNo)
【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。
|
void |
setUseRenderer(java.lang.String flag)
【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します
(初期値:USE_TABLE_READER_RENDERER[=true])。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
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, getTagName, 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
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
protected java.lang.String separator
protected java.lang.String encode
protected java.lang.String readerClass
protected int maxRowCount
protected java.lang.String displayMsg
protected int executeCount
protected java.lang.String sheetName
protected java.lang.String sheetNos
protected java.lang.String sheetConstKeys
protected java.lang.String sheetConstAdrs
protected java.lang.String nullBreakClm
protected java.lang.String nullSkipClm
protected java.lang.String columns
protected boolean useNumber
protected boolean stopZero
protected int skipRowCount
protected transient ReadTableTag.ColumnAction clmAct
protected boolean sqlError
public ReadTableTag()
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
protected int afterEnd()
protected void release2()
release2
クラス内 CommonTagSupport
protected void create(java.io.File file)
file
- 出力するFileオブジェクトpublic void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)public void setSeparator(java.lang.String separator)
separator
- 項目区切り文字public void setFileURL(java.lang.String url)
url
- 読取元ディレクトリ名SystemData.FILE_URL
public void setFilename(java.lang.String filename)
filename
- ファイル名SystemData.USE_SQL_INJECTION_CHECK
public void setEncode(java.lang.String enc)
enc
- ファイルエンコーディング名SystemData.FILE_ENCODE
public void setReaderClass(java.lang.String readerCls)
readerCls
- クラス名(の略称)TableReaderのサブクラス
TableReader
を参照願います。
<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.9.9.2&VALUENAME=readerClass" target="CONTENTS">TableReader_**** クラス</a>public void setMaxRowCount(java.lang.String count)
count
- 最大件数public void setErrRowCount(java.lang.String count)
count
- 最大件数public void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)public void setDisplayMsg(java.lang.String id)
id
- 処理結果表示メッセージIDpublic void setOverflowMsg(java.lang.String id)
id
- 検索数オーバー時メッセージIDpublic void setNotfoundMsg(java.lang.String id)
id
- ゼロ件時表示メッセージIDpublic void setModifyType(java.lang.String type)
type
- 更新タイプ [A:追加/C:更新/D:削除]public void setSheetName(java.lang.String sheet)
sheet
- EXCELファイルのシート名setSheetNos( String )
public void setSheetNos(java.lang.String sheet)
sheet
- EXCELファイルのシート番号(0から始まる)setSheetName( String )
public void setSheetConstKeys(java.lang.String constKeys)
constKeys
- 固定値となるカラム名 (CSV形式)setSheetConstAdrs( String )
public void setSheetConstAdrs(java.lang.String constAdrs)
constAdrs
- 固定値となるアドレス (行-列,行-列,・・・)setSheetConstKeys( String )
public void setNullBreakClm(java.lang.String clm)
clm
- カラム列public void setNullSkipClm(java.lang.String clm)
clm
- カラム列public void setColumns(java.lang.String clms)
clms
- 読取元ファイルのカラム列 (CSV形式)public void setOmitNames(java.lang.String clms)
clms
- 読取対象外のカラム列 (CSV形式)protected void addOmitNames(java.lang.String omit)
omit
- 読取対象外の追加カラム列 (CSV形式)public void setCheckColumns(java.lang.String clms)
clms
- 整合性チェックを行うカラム列 (CSV形式)public void setAdjustColumns(java.lang.String clms)
clms
- データ変換を行うカラム列 (CSV形式)public void setNullCheck(java.lang.String clms)
clms
- カラム列(CVS形式)public void setUseNumber(java.lang.String useNo)
useNo
- 行番号情報 [true:使用する/false:使用しない]public void setStopZero(java.lang.String cmd)
cmd
- 0件時停止可否 [true:処理を中止する/false:続行する]public void setMainTrans(java.lang.String flag)
flag
- メイントランザクションかどうか [true:メイン/false:その他]public void setSkipRowCount(java.lang.String count)
count
- 読み始めの初期値public void setUseRenderer(java.lang.String flag)
flag
- ラベル逆変換を行うかどうか [true:行う/false:行わない]SystemData.USE_TABLE_READER_RENDERER
public void setMatchKeys(java.lang.String keys)
keys
- カラム列(カンマ区切り文字)setMatchVals( String )
public void setMatchVals(java.lang.String vals)
vals
- カラム列に対する正規表現(カンマ区切り文字)setMatchKeys( String )
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.