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/applicaton]を指定します(初期値: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 String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規作成 "NEW"
|
static String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
protected String |
columns |
protected String |
displayMsg |
protected String |
encode |
protected int |
executeCount |
protected int |
maxRowCount |
protected String |
nullBreakClm |
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 |
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(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[=UnicodeLittle])。
|
void |
setErrRowCount(String count)
【TAG】読取時の最大エラー件数をセットします (初期値:200)。
|
void |
setFilename(String filename)
【TAG】ファイルを作成するときのファイル名をセットします
(初期値:FILE_FILENAME[=file.xls])。
|
void |
setFileURL(String url)
【TAG】読取元ディレクトリ名を指定します
(初期値:FILE_URL[=filetemp/])。
|
void |
setMainTrans(String flag)
【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。
|
void |
setMatchKeys(String keys)
【TAG】matchKeysをカンマ区切りで指定します。
|
void |
setMatchVals(String vals)
【TAG】matchValsをカンマ区切りで指定します。
|
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[=AutoReader])。
|
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[=h_tblmdl])。
|
void |
setUseNumber(String useNo)
【TAG】行番号情報を、使用している/していない[true/false]を指定します(初期値:true)。
|
void |
setUseRenderer(String flag)
【TAG】読取処理でKEY:VAL形式のコードリソースから、KEYを取り出す処理を行うかどうかを指定します
(初期値:USE_TABLE_READER_RENDERER[=true])。
|
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
protected String separator
protected String encode
protected String readerClass
protected int maxRowCount
protected String displayMsg
protected int executeCount
protected String sheetName
protected String sheetNos
protected String sheetConstKeys
protected String sheetConstAdrs
protected String nullBreakClm
protected String nullSkipClm
protected String columns
protected boolean useNumber
protected boolean stopZero
protected int skipRowCount
protected transient ReadTableTag.ColumnAction clmAct
protected boolean sqlError
public ReadTableTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
3.0.1.4 (2003/03/17) displayMsg が 0Byteの場合は、件数も表示しないように変更。 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.5.4.1 (2003/12/01) 引数の BufferedReader を、InputStream に変更。 |
3.5.4.3 (2004/01/05) 引数の InputStream を、 BufferedReader に戻す。 |
3.5.6.5 (2004/08/09) 暫定的に、DBTableModelを先行削除します。 |
3.6.0.0 (2004/09/24) DBTableModel の先行削除は、scope="session" の場合のみ。 |
3.6.0.2 (2004/10/04) 取り込み時チェック用に、checkColumns,adjustColumns 属性追加 |
3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。 |
3.8.5.3 (2006/08/07) readerClassが "Excel"でエラーが発生したとき、もう一度Defaultで再読取を行います。 |
4.0.0.0 (2007/10/12) checkTableColumn 前に、modifyType 設定を行います。 |
4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel ) |
4.3.1.1 (2008/10/08) columnsが指定されている場合は、AutoReader禁止 |
4.3.7.0 (2009/06/01) stopZero機能,DB.COUNTリクエストキーへ読込件数セットを追加 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
5.1.8.0 (2010/07/01) AutoReaderのCalc対応 |
5.1.9.0 (2010/08/01) AutoReaderでのExceptionの判定をThrowableに変更 |
5.7.1.2 (2013/12/20) tempMsg.toString() ⇒ errMsg 変更 |
5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加 |
6.0.2.5 (2014/10/31) debug=true 時のエラー情報を増やします。 |
6.2.0.0 (2015/02/27) TableReader クラスの呼び出し元メソッドの共通化(EXCEL,TEXT) |
6.2.0.0 (2015/02/27) EXCEL出力のparamLevel初期値変更 3:標準推奨 → 4:個人設定可 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
6.2.3.0 (2015/05/01) 複数処理を考慮して、例外処理は発行しない。 |
6.2.3.0 (2015/05/01) columnsが指定されていても、AutoReader を使えるようにします。 |
6.2.4.2 (2015/05/29) エラーを画面に出します。 |
6.2.5.0 (2015/06/05) AutoReaderの仕様変更。 |
6.3.6.1 (2015/08/28) DirectTableInsertTag でSQLException発生時のみ throwする。 |
6.4.2.0 (2016/01/29) StringUtil#ogStackTrace(Throwable) を、ThrowUtil#ogStackTrace(String,Throwable) に置き換え。 |
6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 |
6.4.5.1 (2016/04/28) CSV 指定時は、readerClass="Text" , separator="," に、再設定します。 |
protected int afterEnd()
6.2.2.0 (2015/03/27) #afterEnd() メソッド 新規作成。 |
6.2.4.2 (2015/05/29) executeCount の設定がおかしい。ReadTableTagでは、設定されていなかった。 |
6.2.5.0 (2015/06/05) エラー処理は、継承先でも行うので、メソッド化します。 |
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.4.0 (2003/04/18) command 属性に、初期値(NEW)を設定する。 |
3.5.4.2 (2003/12/15) EXCELのシート名を指定できるように変更。 |
3.5.4.5 (2004/01/23) 外部よりカラム列(CSV形式)を指定できるようにする。 |
3.6.0.2 (2004/10/04) checkColumns,adjustColumns,allColumnCheck 属性追加 |
3.7.0.5 (2005/04/11) useNumber 属性を追加します。 |
3.8.0.2 (2005/06/30) nullCheck 属性追加 |
3.8.5.3 (2006/08/07) readerClass 属性の初期値をシステムリソースより取得します。 |
4.3.7.0 (2009/06/01) stopZero属性追加 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
5.1.6.0 (2010/05/01) データの読み飛ばし設定 skipRowCount 属性追加 |
5.2.1.0 (2010/10/01) 読取処理でコードリソースのラベル変換を行うかどうか useRenderer 属性追加 |
5.5.7.2 (2012/10/09) 複数シートを指定できるようにシート番号を指定できるように、sheetNos属性追加 |
5.5.8.2 (2012/11/09) 固定値となるカラム名、アドレスの指定のための、sheetConstKeys、sheetConstAdrs属性追加 |
5.5.8.2 (2012/11/09) カラム列に NULL が現れた時点で読取を中止する、nullBreakClm属性追加 |
6.1.0.0 (2014/12/26) omitNames 属性を追加 |
6.2.0.0 (2015/02/27) オーバーフロー時のメッセージを表示 |
6.2.0.0 (2015/02/27) EXCEL出力のparamLevel初期値変更 3:標準推奨 → 4:個人設定可 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
6.2.3.0 (2015/05/01) 行読み飛ばし nullSkipClm追加 |
6.2.5.0 (2015/06/05) ファイルエンコードの初期化を遅らせます。 |
protected void create(File file)
file
- 出力するFileオブジェクト3.5.4.1 (2003/12/01) 引数の BufferedReader を、InputStream に変更。 |
3.5.4.2 (2003/12/15) TableReader のサブクラス名変更。 |
3.5.4.2 (2003/12/15) EXCELのシート名を指定できるように変更。 |
3.5.4.3 (2004/01/05) 引数の InputStream を、 BufferedReader に戻す。 |
3.5.4.5 (2004/01/23) TableReader に、encode を渡すように変更。 |
3.5.6.0 (2004/06/18) 各種プラグイン関連付け設定を、システムパラメータ に記述します。 |
3.7.0.5 (2005/04/11) useNumber 属性を追加します。 |
4.0.0.0 (2005/01/31) キーの指定を、TableReader. から、TableReader_ に変更します。 |
4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更 |
5.1.6.0 (2010/05/01) データの読み飛ばし設定 skipRowCount 属性追加 |
5.2.1.0 (2010/10/01) 読取処理でコードリソースのラベル変換を行うかどうか設定 useRenderer 属性追加 |
5.5.7.2 (2012/10/09) 複数シートを指定できるようにシート番号を指定できるように、sheetNos属性追加 |
5.5.8.2 (2012/11/09) 固定値となるカラム名、アドレスの指定のための、sheetConstKeys、sheetConstAdrs属性追加 |
5.5.8.2 (2012/11/09) カラム列に NULL が現れた時点で読取を中止する、nullBreakClm属性追加 |
6.0.4.0 (2014/11/28) NullPointerException が発生するので、事前にチェックします。 |
6.2.0.0 (2015/02/27) TableReader クラスの呼び出し元メソッドの共通化(EXCEL,TEXT) |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
6.2.2.0 (2015/03/27) ColumnActionListener 対応。 |
6.2.3.0 (2015/05/01) 行読み飛ばし nullSkipClm追加 |
6.4.1.2 (2016/01/22) setColumnActionListener は、内部処理が走るため、他の設定が終わってから呼び出す。 |
6.4.3.3 (2016/03/04) HybsSystem.newInstance(String,String) への置き換え。 |
public void setTableId(String id)
id
- テーブルID (sessionに登録する時のID)検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
public void setSeparator(String separator)
separator
- 項目区切り文字可変長ファイルを作成するときの項目区切り文字をセットします。
public void setFileURL(String url)
url
- 読取元ディレクトリ名SystemData.FILE_URL
この属性で指定されるディレクトリより、ファイルを読取ます。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、 さらに、各個人ID別のフォルダを作成して、そこを操作します。 (初期値:システム定数のFILE_URL[=filetemp/])。
4.0.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用 |
4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。 |
6.4.2.1 (2016/02/05) URLの最後に、"/" を追加する処理を廃止。 |
public void setFilename(String filename)
filename
- ファイル名SystemData.USE_SQL_INJECTION_CHECK
ファイルを作成するときのファイル名をセットします。 (初期値:システム定数のFILE_FILENAME[=file.xls])。
public void setEncode(String enc)
enc
- ファイルエンコーディング名SystemData.FILE_ENCODE
readerClass="AutoReader" の場合、ここで設定した encode が優先されます。 readerClass="Text" の場合、encode が指定されていない場合は、初期値 の FILE_ENCODE が使用されます Shift_JIS,MS932,Windows-31J,UTF-8,ISO-8859-1,UnicodeLittle (初期値:システム定数のFILE_ENCODE[=UnicodeLittle])。
2.2.0.0 (2002/12/17) 中国語(国際化)対応 エンコードの取得方法変更 |
3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。 |
public void setReaderClass(String readerCls)
readerCls
- クラス名(の略称)TableReaderのサブクラス
実際に読み出すクラス名(の略称)をセットします。 これは、org.opengion.hayabusa.io 以下の TableReader_**** クラスの **** を 与えます。これらは、TableReader インターフェースを継承したサブクラスです。 属性クラス定義の TableReader を参照願います。 <a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.4.9.0&VALUENAME=readerClass" target="CONTENTS">TableReader_**** クラス</a>
3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。 "AutoReader" は特別な名前で、Excel と Text(テキスト) を以下の順番で試します。 Excel,Calc,Text(UnicodeLittle),Text(Windows-31J),Text(Windows-31J),Text(UTF-8),Text(EUC-JP) Excel については、拡張子を自動判定して、(xlsx か xls) 適切な処理を行います。 従来からの 拡張子のみ、xls のテキストファイルは、#NAME を見つけることができないため、エラーになり、 次のText読み取りにゆだねられます。 UTF-8 のTEXTとWindows-31JのTEXTは、ヘッダー部での区別ができないため、java.nio.file.Files と Pathを 使用した読み取り方式に変更しています。 "AutoReader" に設定した場合は、上記の様に、encode を順番に確かめるため、encode属性の指定は無視されます。 (初期値:TABLE_READER_DEFAULT_CLASS[={@og.value SystemData#TABLE_READER_DEFAULT_CLASS}])。 |
6.2.1.0 (2015/03/13) Default廃止に伴い、Defaultが指定された場合は、Textに置き換える。 |
public void setMaxRowCount(String count)
count
- 最大件数DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 をセットすると、無制限になります。 (初期値:0:無制限)
5.5.8.5 (2012/11/27) 0を無制限として処理します。 |
6.2.2.0 (2015/03/27) 初期値を、無制限に変更 |
public void setErrRowCount(String count)
count
- 最大件数DBTableModelのデータチェックを行う場合、エラーの最大件数をこの値に設定します。 エラー最大件数がこの値を超えると、処理を打ち切ります。 0 をセットすると、無制限になります。 (初期値:200)。
6.2.2.0 (2015/03/27) 読取時の最大エラー件数(errRowCount) を新規追加 |
public void setCommand(String cmd)
cmd
- コマンド (public static final 宣言されている文字列)コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。
public void setDisplayMsg(String id)
id
- 処理結果表示メッセージIDここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は, displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
6.2.0.0 (2015/02/27) リクエスト変数を使用できるように修正。 |
public void setOverflowMsg(String id)
id
- 検索数オーバー時メッセージID読取結果が、maxRowCount で設定された値より多い場合、何らかのデータは読取されず 切り捨てられたことになります。 ここでは、displayMsg を表示した後、必要に応じて、このメッセージを表示します。 表示させたくない場合は, overflowMsg = "" をセットしてください。 初期値は、MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]です。
6.2.0.0 (2015/02/27) オーバーフロー時のメッセージを表示 |
public void setNotfoundMsg(String id)
id
- ゼロ件時表示メッセージIDここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
public void setModifyType(String type)
type
- 更新タイプ [A:追加/C:更新/D:削除]ファイル読み込み時に、そのデータをA(追加)、C(更新)、D(削除)の 更新タイプをつけた状態にします。 その状態で、そのまま、update する事が可能になります。
public void setSheetName(String sheet)
sheet
- EXCELファイルのシート名setSheetNos( String )
EXCELファイルを読み込む時に、シート名を指定します。これにより、複数の形式の 異なるデータを順次読み込むことや、シートを指定して読み取ることが可能になります。 sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。 初期値は、指定なしです。
3.5.4.2 (2003/12/15) 新規追加 |
public void setSheetNos(String sheet)
sheet
- EXCELファイルのシート番号(0から始まる)setSheetName( String )
EXCEL読み込み時に複数シートをマージして取り込みます。 シート番号は、0 から始まる数字で表します。 ヘッダーは、最初のシートのカラム位置に合わせます。(ヘッダータイトルの自動認識はありません。) よって、指定するシートは、すべて同一レイアウトでないと取り込み時にカラムのずれが発生します。 シート番号の指定は、CSV形式で、複数指定できます。また、N-M の様にハイフンで繋げることで、 N 番から、M 番のシート範囲を一括指定可能です。また、"*" による、全シート指定が可能です。 これらの組み合わせも可能です。( 0,1,3,5-8,10-* ) ただし、"*" に関しては例外的に、一文字だけで、すべてのシートを表すか、N-* を最後に指定するかの どちらかです。途中には、"*" は、現れません。 シート番号は、重複(1,1,2,2)、逆転(3,2,1) での指定が可能です。これは、その指定順で、読み込まれます。 sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。 初期値は、0(第一シート) です。
5.5.7.2 (2012/10/09) 新規追加 |
public void setSheetConstKeys(String constKeys)
constKeys
- 固定値となるカラム名 (CSV形式)setSheetConstAdrs( String )
カラム名は、CSV形式で指定します。 これにより、シートの一か所に書かれている情報を、DBTableModel のカラムに固定値として 設定することができます。 例として、DB定義書で、テーブル名をシートの全レコードに設定したい場合などに使います。 このメソッドは、isExcel() == true の場合のみ利用されます。
5.5.8.2 (2012/11/09) 新規追加 |
public void setSheetConstAdrs(String constAdrs)
constAdrs
- 固定値となるアドレス (行-列,行-列,・・・)setSheetConstKeys( String )
アドレスは、EXCEL上の行-列をCSV形式で指定します。 行列は、EXCELオブジェクトに準拠するため、0から始まる整数です。 0-0 ⇒ A1 , 1-0 ⇒ A2 , 0-1 ⇒ B1 になります。 これにより、シートの一か所に書かれている情報を、DBTableModel のカラムに固定値として 設定することができます。 例として、DB定義書で、テーブル名をシートの全レコードに設定したい場合などに使います。 このメソッドは、isExcel() == true の場合のみ利用されます。 5.7.6.3 (2014/05/23) より、 ①EXCEL表記に準拠した、A1,A2,B1 の記述も処理できるように対応します。 なお、A1,A2,B1 の記述は、必ず、英字1文字+数字 にしてください。(A~Zまで) ②処理中のEXCELシート名をカラムに割り当てるために、"SHEET" という記号に対応します。 例えば、sheetConstKeys="CLM,LANG,NAME" とし、sheetConstAdrs="0-0,A2,SHEET" とすると、 NAMEカラムには、シート名を読み込むことができます。 これは、内部処理の簡素化のためです。 ちなみに、EXCELのセルに、シート名を表示させる場合の関数は、下記の様になります。 =RIGHT(CELL("filename",$A$1),LEN(CELL("filename",$A$1))-FIND("]",CELL("filename",$A$1)))
5.5.8.2 (2012/11/09) 新規追加 |
public void setNullBreakClm(String clm)
clm
- カラム列これは、指定のカラムは必須という事を条件に、そのレコードだけを読み取る処理を行います。 複数Sheetの場合は、次のSheetを読みます。 現時点では、Excel の場合のみ有効です。
5.5.8.2 (2012/11/09) 新規追加 |
public void setNullSkipClm(String clm)
clm
- カラム列例えば、更新対象カラムで、null の場合は、何もしない、などのケースで使用できます。 複数カラムの場合は、AND条件やOR条件などが、考えられるため、 カラムを一つにまとめて、指定してください。
6.2.3.0 (2015/05/01) 行読み飛ばし nullSkipClm追加 |
public void setColumns(String clms)
clms
- 読取元ファイルのカラム列 (CSV形式)読取元ファイルのカラム列を、外部(タグ)より指定します。 ファイルに記述された #NAME より優先して使用されます。 これは、元ファイルのカラムを順番に指定のカラム名に割り当てる機能で ファイルの特定のカラム列を抜き出して取り込む機能ではありません。
3.5.4.5 (2004/01/23) 新規作成 |
public void setOmitNames(String clms)
clms
- 読取対象外のカラム列 (CSV形式)指定するカラム名に対して、読取処理を行いません。 ここで指定するカラム名は、ファイルの #NAME または、columns で 指定するカラム名に対して、含まれている必要はありません。 その場合は、ここでの指定は無視されます。
6.1.0.0 (2014/12/26) omitNames 属性を追加 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
protected void addOmitNames(String omit)
omit
- 読取対象外の追加カラム列 (CSV形式)6.2.4.0 (2015/05/15) 無条件でOMITする名称を指定します。 |
public void setCheckColumns(String clms)
clms
- 整合性チェックを行うカラム列 (CSV形式)カラムオブジェクトのDBType属性に対応したチェックを行います。 指定のカラム名をCSV形式(CSV)で複数指定できます。 全てのカラムのチェックを行う場合は、"*" を指定して下さい。 分解方法は、通常のパラメータ取得後に、CSV分解します。
3.6.0.2 (2004/10/04) 新規追加 取り込み時チェック用 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
public void setAdjustColumns(String clms)
clms
- データ変換を行うカラム列 (CSV形式)カラムオブジェクトのDBType属性に対応したデータ変換を行います。 指定のカラム名をCSV形式(CSV)で複数指定できます。 全てのカラムをデータ変換する場合は、"*" を指定して下さい。 分解方法は、通常のパラメータ取得後に、CSV分解します。
3.6.0.2 (2004/10/04) 新規追加 取り込み時データ変換 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
public void setNullCheck(String clms)
clms
- カラム列(CVS形式)nullCheck="AAA,BBB,CCC,DDD" 分解方法は、通常のパラメータ取得後に、CSV分解します。
3.8.0.2 (2005/06/30) 新規追加 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
public void setUseNumber(String useNo)
useNo
- 行番号情報 [true:使用する/false:使用しない]通常のフォーマットでは、各行の先頭に行番号が出力されています。 読取時に、#NAME 属性を使用する場合は、この行番号を無視しています。 #NAME 属性を使用せず、columns 属性でカラム名を指定する場合(他システムの 出力ファイルを読み取るケース等)では、行番号も存在しないケースがあり、 その様な場合に、useNumber="false" を指定すれば、データの最初から読取始めます。 この場合、出力データのカラムの並び順が変更された場合、columns 属性も 指定しなおす必要がありますので、できるだけ、#NAME 属性を使用するように してください。 なお、EXCEL 入力には、この設定は適用されません。(暫定対応) 初期値は、true(使用する) です。
3.7.0.5 (2005/04/11) 新規追加 |
public void setStopZero(String cmd)
cmd
- 0件時停止可否 [true:処理を中止する/false:続行する]初期値は、false(続行する)です。
4.3.7.0 (2009/06/01) 新規追加 |
public void setMainTrans(String flag)
flag
- メイントランザクションかどうか [true:メイン/false:その他]この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
5.1.6.0 (2010/05/01) 新規作成 |
public void setSkipRowCount(String count)
count
- 読み始めの初期値TAB区切りテキストやEXCEL等のデータの読み始めの初期値を指定します。 ファイルの先頭行が、0行としてカウントしますので、設定値は、読み飛ばす 件数になります。(1と指定すると、1件読み飛ばし、2行目から読み込みます。) 読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。 #NAME属性や、columns 属性は、有効です。
5.1.6.0 (2010/05/01) 新規作成 |
public void setUseRenderer(String flag)
flag
- ラベル逆変換を行うかどうか [true:行う/false:行わない]SystemData.USE_TABLE_READER_RENDERER
TableWriter_Renderer 系のクラスで出力した場合は、コードリソースがラベルで出力されます。 そのファイルを読み取ると、当然、エラーになります。 ここでは、コードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、 Renderer 系で出力したファイルを取り込むことができるようにします。 ここでは、TableWriter 系と同様に、TableReader_Renderer 系のクラスを作るのではなく、 属性値のフラグで、制御します。 将来的には、TableWriter 系も廃止して、同様のフラグで制御するように変更する予定です。 (初期値:システム定数のUSE_TABLE_READER_RENDERER[=true])。
5.2.1.0 (2010/10/01) 新規作成 |
6.2.2.0 (2015/03/27) ColumnAction インナークラスでパラメータを整理する。 |
public void setMatchKeys(String keys)
keys
- カラム列(カンマ区切り文字)setMatchVals( String )
ファイルから特定の行のみを読み取るためのmatchKeysを指定します。 matchKeysで指定したカラムに対して、matchValsの正規表現でチェックします。 何も指定しない場合は、読取対象になります。 matchVals と個数を合わせてください。
6.4.6.0 (2016/05/27) 新規追加 |
public void setMatchVals(String vals)
vals
- カラム列に対する正規表現(カンマ区切り文字)setMatchKeys( String )
ファイルから特定の行のみを読み取るためのmatchValsを指定します。 matchKeysで指定したカラムに対して、matchValsの正規表現でチェックします。 この機能はTableReader_Defaultのみ有効です。 何も指定しない場合は、読取対象になります。 matchKeys と個数を合わせてください。
6.4.6.0 (2016/05/27) 新規追加 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.