クラス 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,
    • フィールドの詳細

      • encode

        protected String encode
        ファイルエンコーディング
      • displayMsg

        protected String displayMsg
        ディスプレイメッセージ
      • columns

        protected String columns
        3.5.4.5 (2004/01/23) 外部よりカラム列(CSV形式)を指定できるようにする。
      • useNumber

        protected boolean useNumber
        6.1.0.0 (2014/12/26) 読取対象外のカラム列を、外部(タグ)より指定する。
      • stopZero

        protected boolean stopZero
        stopZero属性
      • skipRowCount

        protected int skipRowCount
        データの読み飛ばし設定
      • 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
        戻り値:
        このクラスの文字列表現