クラス ReadTableTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.ReadTableTag
-
- すべての実装されたインタフェース:
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
- 直系の既知のサブクラス:
DirectTableInsertTag
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" キーでリクエストにセットしています。 ※ 7.3.1.3 (2021/03/09) DB.NAMES , DB.ORGNAMES #NAME や columns で指定したカラムは、{@DB.NAMES} で取り出すことが可能です。 ファイルにかかれた、オリジナルの #NAME は、{@DB.ORGNAMES} で取り出すことが可能です。- 関連項目:
- 直列化された形式
- 導入されたバージョン:
- JDK5.0,
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 protected static class
ReadTableTag.ColumnAction
カラム処理を行う、内部クラス カラム個別に行う処理をまとめたクラスです。protected static class
ReadTableTag.RepeatDataChenge
繰り返しカラム処理を行う内部クラス 繰り返しカラムの廃位を [] で囲います。
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 protected ReadTableTag.ColumnAction
clmAct
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。static String
CMD_NEW
command 引数に渡す事の出来る コマンド 新規作成 "NEW"static String
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"protected String
columns
3.5.4.5 (2004/01/23) 外部よりカラム列(CSV形式)を指定できるようにする。protected String
displayMsg
ディスプレイメッセージprotected String
encode
ファイルエンコーディングprotected int
executeCount
実行件数protected int
maxRowCount
最大行protected String
nullBreakClm
取込み条件/Sheet BREAK条件protected String
nullSkipClm
行読み飛ばしprotected String
readerClass
読取クラス名protected String
separator
項目区切り文字protected String
sheetConstAdrs
固定値となるアドレスprotected String
sheetConstKeys
固定値となるカラム名protected String
sheetName
シート名protected String
sheetNos
シート番号protected int
skipRowCount
データの読み飛ばし設定protected boolean
sqlError
6.3.6.1 (2015/08/28) DirectTableInsertTag でSQLException発生時にセットする。protected boolean
stopZero
stopZero属性protected boolean
useNumber
6.1.0.0 (2014/12/26) 読取対象外のカラム列を、外部(タグ)より指定する。protected boolean
useSLabel
7.0.7.0 (2019/12/13) エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 ReadTableTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected void
addOmitNames(String omit)
読取対象外のカラム列を、追加指定します。protected int
afterEnd()
#doEndTag() の後続処理を記述します。protected void
create(File file)
TableReader の実オブジェクトを生成して,BufferedReader に書き込みます。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setAdjustColumns(String clms)
【TAG】読取元ファイルのデータ変換を行うカラム列をカンマ指定します。void
setCheckColumns(String clms)
【TAG】読取元ファイルの整合性チェックを行うカラム列をカンマ指定します。void
setColumns(String clms)
【TAG】読取元ファイルのカラム列を、外部(タグ)より指定します。void
setCommand(String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。void
setDisplayMsg(String id)
【TAG】query の結果を画面上に表示するメッセージIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。void
setEncode(String enc)
【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=])。void
setErrRowCount(String count)
【TAG】読取時の最大エラー件数をセットします (初期値:)。void
setFilename(String filename)
【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_FILENAME[=])。void
setFileURL(String url)
【TAG】読取元ディレクトリ名を指定します (初期値:FILE_URL[=])。void
setMainTrans(String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。void
setMatchKeys(String keys)
【TAG】matchKeysをCSV形式で指定します。void
setMatchVals(String vals)
【TAG】matchValsをCSV形式で指定します。void
setMaxRowCount(String count)
【TAG】読取時の最大取り込み件数をセットします(初期値:0:無制限)。void
setModifyType(String type)
【TAG】ファイル取り込み時の 更新タイプ [A:追加/C:更新/D:削除]を指定します。void
setNotfoundMsg(String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。void
setNullBreakClm(String clm)
【TAG】ここに指定されたカラム列に NULL が現れた時点で読取を中止します。void
setNullCheck(String clms)
【TAG】NULL チェックすべきカラム列をCSV形式(CSV形式)で指定します。void
setNullSkipClm(String clm)
【TAG】ここに指定されたカラム列に NULL が現れたレコードは読み飛ばします。void
setOmitNames(String clms)
【TAG】読取対象外のカラム列を、外部(タグ)よりCSV形式で指定します。void
setOverflowMsg(String id)
【TAG】読取データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。void
setReaderClass(String readerCls)
【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします (初期値:TABLE_READER_DEFAULT_CLASS[=])。void
setSeparator(String separator)
【TAG】可変長ファイルを作成するときの項目区切り文字をセットします。void
setSheetConstAdrs(String constAdrs)
【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名に対応するアドレスを指定します。void
setSheetConstKeys(String constKeys)
【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名を指定します。void
setSheetName(String sheet)
【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし)。void
setSheetNos(String sheet)
【TAG】EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。void
setSkipRowCount(String count)
【TAG】(通常は使いません)データの読み飛ばし件数を設定します。void
setStopZero(String cmd)
【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。void
setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setUseNumber(String useNo)
【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。void
setUseRenderer(String flag)
【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します (初期値:USE_TABLE_READER_RENDERER[=])。void
setUseRepeatClms(String useRepeat)
【TAG】読取処理で横持ちデータの繰り返しが存在する場合に、trueを指定します(初期値:false)。void
setUseSLabel(String prm)
【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。void
setUseStrict(String flag)
【TAG】整合性チェック時に、厳密にチェックするかどうか[true/false]を指定します(初期値:true)。String
toString()
このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, 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
-
クラスから継承されたメソッド 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
-
-
-
-
フィールドの詳細
-
readerClass
protected String readerClass
読取クラス名
-
maxRowCount
protected int maxRowCount
最大行
-
displayMsg
protected String displayMsg
ディスプレイメッセージ
-
executeCount
protected int executeCount
実行件数
-
sheetConstKeys
protected String sheetConstKeys
固定値となるカラム名
-
sheetConstAdrs
protected String sheetConstAdrs
固定値となるアドレス
-
nullBreakClm
protected String nullBreakClm
取込み条件/Sheet BREAK条件
-
nullSkipClm
protected String nullSkipClm
行読み飛ばし
-
useNumber
protected boolean useNumber
6.1.0.0 (2014/12/26) 読取対象外のカラム列を、外部(タグ)より指定する。
-
stopZero
protected boolean stopZero
stopZero属性
-
skipRowCount
protected int skipRowCount
データの読み飛ばし設定
-
clmAct
protected transient ReadTableTag.ColumnAction clmAct
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。
-
sqlError
protected boolean sqlError
6.3.6.1 (2015/08/28) DirectTableInsertTag でSQLException発生時にセットする。(暫定対応)
-
useSLabel
protected boolean useSLabel
7.0.7.0 (2019/12/13) エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)
-
-
コンストラクタの詳細
-
ReadTableTag
public ReadTableTag()
デフォルトコンストラクター
-
-
メソッドの詳細
-
doEndTag
public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内javax.servlet.jsp.tagext.Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
-
afterEnd
protected int afterEnd()
#doEndTag() の後続処理を記述します。 これは、サブクラスで、DBTableModel以外の処理を行う場合に、 処理内容を分けるために用意します。- 戻り値:
- 後続処理の指示
-
release2
protected void release2()
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
-
create
protected void create(File file)
TableReader の実オブジェクトを生成して,BufferedReader に書き込みます。- パラメータ:
file
- 出力するFileオブジェクト
-
setTableId
public void setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- テーブルID (sessionに登録する時のID)
-
setSeparator
public void setSeparator(String separator)
【TAG】可変長ファイルを作成するときの項目区切り文字をセットします。- パラメータ:
separator
- 項目区切り文字
-
setFileURL
public void setFileURL(String url)
【TAG】読取元ディレクトリ名を指定します (初期値:FILE_URL[=])。- パラメータ:
url
- 読取元ディレクトリ名- 関連項目:
SystemData.FILE_URL
-
setFilename
public void setFilename(String filename)
【TAG】ファイルを作成するときのファイル名をセットします (初期値:FILE_FILENAME[=])。- パラメータ:
filename
- ファイル名- 関連項目:
SystemData.USE_SQL_INJECTION_CHECK
-
setEncode
public void setEncode(String enc)
【TAG】ファイルを作成するときのファイルエンコーディング名をセットします (初期値:FILE_ENCODE[=])。- パラメータ:
enc
- ファイルエンコーディング名- 関連項目:
- IANA Charset Registry,
SystemData.FILE_ENCODE
-
setReaderClass
public void setReaderClass(String readerCls)
【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします (初期値:TABLE_READER_DEFAULT_CLASS[=])。- パラメータ:
readerCls
- クラス名(の略称)- 関連項目:
TableReaderのサブクラス
-
setMaxRowCount
public void setMaxRowCount(String count)
【TAG】読取時の最大取り込み件数をセットします(初期値:0:無制限)。- パラメータ:
count
- 最大件数
-
setErrRowCount
public void setErrRowCount(String count)
【TAG】読取時の最大エラー件数をセットします (初期値:)。- パラメータ:
count
- 最大件数
-
setCommand
public void setCommand(String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。- パラメータ:
cmd
- コマンド (public static final 宣言されている文字列)- 関連項目:
- コマンド定数
-
setDisplayMsg
public void setDisplayMsg(String id)
【TAG】query の結果を画面上に表示するメッセージIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。- パラメータ:
id
- 処理結果表示メッセージID
-
setOverflowMsg
public void setOverflowMsg(String id)
【TAG】読取データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。- パラメータ:
id
- 検索数オーバー時メッセージID
-
setNotfoundMsg
public void setNotfoundMsg(String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。- パラメータ:
id
- ゼロ件時表示メッセージID
-
setModifyType
public void setModifyType(String type)
【TAG】ファイル取り込み時の 更新タイプ [A:追加/C:更新/D:削除]を指定します。- パラメータ:
type
- 更新タイプ [A:追加/C:更新/D:削除]
-
setSheetName
public void setSheetName(String sheet)
【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:指定なし)。- パラメータ:
sheet
- EXCELファイルのシート名- 関連項目:
setSheetNos( String )
-
setSheetNos
public void setSheetNos(String sheet)
【TAG】EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。- パラメータ:
sheet
- EXCELファイルのシート番号(0から始まる)- 関連項目:
setSheetName( String )
-
setSheetConstKeys
public void setSheetConstKeys(String constKeys)
【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名を指定します。- パラメータ:
constKeys
- 固定値となるカラム名 (CSV形式)- 関連項目:
setSheetConstAdrs( String )
-
setSheetConstAdrs
public void setSheetConstAdrs(String constAdrs)
【TAG】EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名に対応するアドレスを指定します。- パラメータ:
constAdrs
- 固定値となるアドレス (行-列,行-列,・・・)- 関連項目:
setSheetConstKeys( String )
-
setNullBreakClm
public void setNullBreakClm(String clm)
【TAG】ここに指定されたカラム列に NULL が現れた時点で読取を中止します。- パラメータ:
clm
- カラム列
-
setNullSkipClm
public void setNullSkipClm(String clm)
【TAG】ここに指定されたカラム列に NULL が現れたレコードは読み飛ばします。- パラメータ:
clm
- カラム列
-
setColumns
public void setColumns(String clms)
【TAG】読取元ファイルのカラム列を、外部(タグ)より指定します。- パラメータ:
clms
- 読取元ファイルのカラム列 (CSV形式)
-
setOmitNames
public void setOmitNames(String clms)
【TAG】読取対象外のカラム列を、外部(タグ)よりCSV形式で指定します。- パラメータ:
clms
- 読取対象外のカラム列 (CSV形式)
-
addOmitNames
protected void addOmitNames(String omit)
読取対象外のカラム列を、追加指定します。 内部的な処理で、DirectTableInsertTag で、WRITABLE,ROWID などの データベースに存在しないカラムを、omit するための機能です。 属性定義してもよいのですが、統一的な処理方法が決まらないので、 取りあえず、暫定的に、サブクラスからのみ、して可能にしておきます。 このメソッドは、setOmitNames( String ) が呼び出された後でしか 有効に機能しません。- パラメータ:
omit
- 読取対象外の追加カラム列 (CSV形式)
-
setCheckColumns
public void setCheckColumns(String clms)
【TAG】読取元ファイルの整合性チェックを行うカラム列をカンマ指定します。- パラメータ:
clms
- 整合性チェックを行うカラム列 (CSV形式)
-
setUseStrict
public void setUseStrict(String flag)
【TAG】整合性チェック時に、厳密にチェックするかどうか[true/false]を指定します(初期値:true)。- パラメータ:
flag
- 厳密チェックか [true:厳密/false:甘い]
-
setAdjustColumns
public void setAdjustColumns(String clms)
【TAG】読取元ファイルのデータ変換を行うカラム列をカンマ指定します。- パラメータ:
clms
- データ変換を行うカラム列 (CSV形式)
-
setNullCheck
public void setNullCheck(String clms)
【TAG】NULL チェックすべきカラム列をCSV形式(CSV形式)で指定します。- パラメータ:
clms
- カラム列(CSV形式)
-
setUseNumber
public void setUseNumber(String useNo)
【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。- パラメータ:
useNo
- 行番号情報 [true:使用する/false:使用しない]
-
setUseRepeatClms
public void setUseRepeatClms(String useRepeat)
【TAG】読取処理で横持ちデータの繰り返しが存在する場合に、trueを指定します(初期値:false)。- パラメータ:
useRepeat
- 横持ちデータの繰り返し [true:使用する/false:使用しない]
-
setStopZero
public void setStopZero(String cmd)
【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。- パラメータ:
cmd
- 0件時停止可否 [true:処理を中止する/false:続行する]
-
setMainTrans
public void setMainTrans(String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。- パラメータ:
flag
- メイントランザクションかどうか [true:メイン/false:その他]
-
setSkipRowCount
public void setSkipRowCount(String count)
【TAG】(通常は使いません)データの読み飛ばし件数を設定します。- パラメータ:
count
- 読み始めの初期値
-
setUseRenderer
public void setUseRenderer(String flag)
【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します (初期値:USE_TABLE_READER_RENDERER[=])。- パラメータ:
flag
- ラベル逆変換を行うかどうか [true:行う/false:行わない]- 関連項目:
SystemData.USE_TABLE_READER_RENDERER
-
setMatchKeys
public void setMatchKeys(String keys)
【TAG】matchKeysをCSV形式で指定します。- パラメータ:
keys
- カラム列(CSV形式文字)- 関連項目:
setMatchVals( String )
-
setMatchVals
public void setMatchVals(String vals)
【TAG】matchValsをCSV形式で指定します。- パラメータ:
vals
- カラム列に対する正規表現(CSV形式文字)- 関連項目:
setMatchKeys( String )
-
setUseSLabel
public void setUseSLabel(String prm)
【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
prm
- SLABEL利用 [true:利用する/false:利用しない]
-
toString
public String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
-
-