|
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.ReadTableTag
public class ReadTableTag
指定のファイルを DBTableModel オブジェクトに読み取るファイル入力タグです。 データ(DBTableModel)と、コントローラ(ReadTableタグ)を与えて、外部からコントロールすることで、 各種形式で データ(DBTableModel)を表示させることが できます。 ReadTableタグ に対して、コマンドを与えることにより、内部のコントローラの実装に対応した 形式でデータを作成します。 すべての読取の初期クラス名を リソースファイルの TABLE_READER_DEFAULT_CLASS で指定可能です。 その場合、AutoReader を指定すると、Excel と Default(テキスト) を順番に試します。 入力件数を"DB.COUNT" キーでリクエストにセットしています。
●形式: <og:readTable command = "NEW" fileURL = "{@USER.ID}" 読み取り元ディレクトリ名 filename = "{@filename}" 読み取り元ファイル名 encode = "UnicodeLittle" 読み取り元ファイルエンコード名 maxRowCount = "10000" 読取最大件数 /> ●body:なし ●使用例 <og:readTable command = "NEW" readerClass = "Fixed" 固定長データの読み取り modifyType = "{@modifyType}" 読取時のモディファイタイプ(A,C等) fileURL = "{@USER.ID}" 読み取り元ディレクトリ名 filename = "{@filename}" 読み取り元ファイル名 encode = "Shift_JIS" 読み取り元ファイルエンコード名 maxRowCount = "10000" 読取最大件数 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行目から) />
フィールドの概要 | |
---|---|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規作成 "NEW" |
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW" |
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド |
---|
bodyContent |
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド |
---|
id, pageContext |
インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド |
---|
EVAL_BODY_BUFFERED, EVAL_BODY_TAG |
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド |
---|
EVAL_BODY_AGAIN |
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド |
---|
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
コンストラクタの概要 | |
---|---|
ReadTableTag()
|
メソッドの概要 | |
---|---|
protected void |
create(java.io.BufferedReader out)
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を指定します(初期値:MSG0033[ 件検索しました])。 |
void |
setEncode(java.lang.String enc)
【TAG】ファイルを作成するときのファイルエンコーディング名をセットします(初期値:FILE_ENCODE)。 |
void |
setFilename(java.lang.String filename)
【TAG】ファイルを作成するときのファイル名をセットします(初期値:FILE_FILENAME)。 |
void |
setFileURL(java.lang.String url)
【TAG】読み取り元ディレクトリ名を指定します(初期値:FILE_URL)。 |
void |
setMainTrans(java.lang.String flag)
【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します。 |
void |
setMaxRowCount(java.lang.String count)
【TAG】読取時の最大取り込み件数をセットします(初期値:DB_MAX_ROW_COUNT)。 |
void |
setModifyType(java.lang.String type)
【TAG】ファイル取り込み時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します。 |
void |
setNotfoundMsg(java.lang.String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。 |
void |
setNullCheck(java.lang.String clms)
【TAG】NULL チェックすべきカラム列をカンマ区切りで指定します。 |
void |
setReaderClass(java.lang.String readerClass)
【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします(初期値:Default)。 |
void |
setSeparator(java.lang.String separator)
【TAG】可変長ファイルを作成するときの項目区切り文字をセットします。 |
void |
setSheetName(java.lang.String sheet)
【TAG】EXCELファイルを読み込むときのシート名を設定します(初期値:第1シート)。 |
void |
setSkipRowCount(java.lang.String count)
【TAG】(通常は使いません)データの読み飛ばし件数を設定します。 |
void |
setStopZero(java.lang.String cmd)
【TAG】読込件数が0件のとき処理を続行するかどうか(true/false)を指定します(初期値:false[続行する])。 |
void |
setTableId(java.lang.String tableId)
【TAG】(通常使いません)sessionから所得する DBTableModel オブジェクトの ID。 |
void |
setUseNumber(java.lang.String useNo)
【TAG】行番号情報を、使用している(true)/していない(false)を指定します。 |
void |
setUseRenderer(java.lang.String flag)
【TAG】読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します。 |
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。 |
クラス 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 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド |
---|
getParent, setPageContext, setParent |
フィールドの詳細 |
---|
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
コンストラクタの詳細 |
---|
public ReadTableTag()
メソッドの詳細 |
---|
public int doEndTag()
javax.servlet.jsp.tagext.Tag
内の doEndTag
CommonTagSupport
内の doEndTag
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に変更 |
protected void release2()
CommonTagSupport
内の release2
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) 外部よりカラム列(カンマ区切り)を指定できるようにする。 |
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 属性追加 |
protected void create(java.io.BufferedReader out)
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 (2005/01/31) キーの指定を、TableReader. から、TableReader_ に変更します。 |
4.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更 |
5.1.6.0 (2010/05/01) データの読み飛ばし設定 skipRowCount 属性追加 |
5.2.1.0 (2010/10/01) 読取処理でコードリソースのラベル変換を行うかどうか設定 useRenderer 属性追加 |
public void setTableId(java.lang.String tableId)
tableId
- sessionに登録する時の ID表示処理後に,(内部ポインタを書き換えた)DBTableModel オブジェクトを 同じキーで、sessionに登録します。 初期値は、HybsSystem.TBL_MDL_KEY です。
public void setSeparator(java.lang.String separator)
separator
- 項目区切り文字可変長ファイルを作成するときの項目区切り文字をセットします。
public void setFileURL(java.lang.String url)
url
- 読み取り元ディレクトリ名この属性で指定されるディレクトリより、ファイルを読み取ります。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 システムパラメータ の FILE_URL 属性で指定のフォルダの下を指定します。 fileURL = "{@USER.ID}" と指定すると、FILE_URL 属性で指定のフォルダの下に、 さらに、各個人ID別のフォルダを作成して、そこを操作します。
4.0.0 (2005/01/31) StringUtil.urlAppend メソッドの利用 |
4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。 |
public void setFilename(java.lang.String filename)
filename
- ファイル名ファイルを作成するときのファイル名をセットします。
public void setEncode(java.lang.String enc)
enc
- ファイルエンコーディング名初期値は、システムパラメータ の FILE_ENCODE 属性で、設定しています。 Shift_JIS,MS932,Windows-31J,UTF-8,ISO-8859-1,UnicodeLittle
2.2.0.0 (2002/12/17) 中国語(国際化)対応 エンコードの取得方法変更 |
3.1.3.0 (2003/04/10) FILE_ENCODE から、エンコード情報を取得する。 |
public void setReaderClass(java.lang.String readerClass)
readerClass
- クラス名(の略称)TableReaderのサブクラス
実際に読み出すクラス名(の略称)をセットします。 これは、org.opengion.hayabusa.io 以下の TableReader_**** クラスの **** を 与えます。これらは、TableReader インターフェースを継承したサブクラスです。 属性クラス定義の TableReader を参照願います。
public void setMaxRowCount(java.lang.String count)
count
- 読取時の最大取り込み件数DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 をセットすると、無制限(Integer.MAX_VALUE)になります。
public void setCommand(java.lang.String cmd)
cmd
- コマンド(public static final 宣言されている文字列)コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。
public void setDisplayMsg(java.lang.String id)
id
- ディスプレイに表示させるメッセージ IDここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 表示させたくない場合は, displayMsg = "" をセットしてください。 初期値は、検索件数を表示します。
public void setNotfoundMsg(java.lang.String id)
id
- ディスプレイに表示させるメッセージ IDここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
public void setModifyType(java.lang.String type)
type
- ファイル取り込み時の モディファイタイプ(A,C,D属性)ファイル読み込み時に、そのデータをA(追加)、C(更新)、D(削除)の モディファイタイプをつけた状態にします。 その状態で、そのまま、update する事が可能になります。
public void setSheetName(java.lang.String sheet)
sheet
- EXCELファイルのシート名EXCELファイルを読み込む時に、シート名を指定します。これにより、複数の形式の 異なるデータを順次読み込むことや、シートを指定して読み取ることが可能になります。 初期値は、第一シートです。
3.5.4.2 (2003/12/15) 新規追加 |
public void setColumns(java.lang.String clms)
clms
- 読み取り元ファイルのカラム列(カンマ区切り文字)読み取り元ファイルのカラム列を、外部(タグ)より指定します。 ファイルに記述された #NAME より優先して使用されます。 これは、元ファイルのカラムを順番に指定のカラム名に割り当てる機能で ファイルの特定のカラム列を抜き出して取り込む機能ではありません。
3.5.4.5 (2004/01/23) 新規作成 |
public void setCheckColumns(java.lang.String clms)
clms
- 整合性チェックを行うカラム列(カンマ区切り文字)カラムオブジェクトのDBType属性に対応したチェックを行います。 指定のカラム名をカンマ区切り(CSV)で複数指定できます。 全てのカラムのチェックを行う場合は、allColumnCheck = "true" を 指定して下さい。 分解方法は、通常のパラメータ取得後に、CSV分解します。
3.6.0.2 (2004/10/04) 新規追加 取り込み時チェック用 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
public void setAdjustColumns(java.lang.String clms)
clms
- データ変換を行うカラム列(カンマ区切り文字)カラムオブジェクトのDBType属性に対応したデータ変換を行います。 指定のカラム名をカンマ区切り(CSV)で複数指定できます。 分解方法は、通常のパラメータ取得後に、CSV分解します。
3.6.0.2 (2004/10/04) 新規追加 取り込み時データ変換 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
public void setNullCheck(java.lang.String clms)
clms
- StringnullCheck="AAA,BBB,CCC,DDD"先に配列に分解してからリクエスト変数の値を取得するようにします。 こうする事で、リクエストにカンマ区切りの値を設定できるようになります。分解方法は、通常のパラメータ取得後に、CSV分解します。
3.8.0.2 (2005/06/30) 新規追加 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
public void setUseNumber(java.lang.String useNo)
useNo
- 行番号情報を、使用している(true)/していない(false)を指定通常のフォーマットでは、各行の先頭に行番号が出力されています。 読み取り時に、#NAME 属性を使用する場合は、この行番号を無視しています。 #NAME 属性を使用せず、columns 属性でカラム名を指定する場合(他システムの 出力ファイルを読み取るケース等)では、行番号も存在しないケースがあり、 その様な場合に、useNumber="false" を指定すれば、データの最初から読み取り始めます。 この場合、出力データのカラムの並び順が変更された場合、columns 属性も 指定しなおす必要がありますので、できるだけ、#NAME 属性を使用するように してください。 なお、EXCEL 入力には、この設定は適用されません。(暫定対応) デフォルトは、true(使用する) です。
3.7.0.5 (2005/04/11) 新規追加 |
public void setStopZero(java.lang.String cmd)
cmd
- 読込件数が0件のとき、処理を中止する(true) / 続行する(false)初期値は、false(続行する)です。
4.3.7.0 (2009/06/01) 新規追加 |
public void setMainTrans(java.lang.String flag)
flag
- メイントランザクションかどうか(通常使いません)タグで処理される処理が、メインとなるトランザクション処理かどうかを指定します。(初期値:false) この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
5.1.6.0 (2010/05/01) 新規作成 |
public void setSkipRowCount(java.lang.String count)
count
- 読み始めの初期値TAB区切りテキストやEXCEL等のデータの読み始めの初期値を指定します。 ファイルの先頭行が、0行としてカウントしますので、設定値は、読み飛ばす 件数になります。(1と指定すると、1件読み飛ばし、2行目から読み込みます。) 読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。 #NAME属性や、columns 属性は、有効です。
5.1.6.0 (2010/05/01) 新規作成 |
public void setUseRenderer(java.lang.String flag)
flag
- コードリソースのラベル逆変換を行うかどうかTableWriter_Renderer 系のクラスで出力した場合は、コードリソースがラベルで出力されます。 そのファイルを読み取ると、当然、エラーになります。 ここでは、コードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、 Renderer 系で出力したファイルを取り込むことができるようにします。 ここでは、TableWriter 系と同様に、TableReader_Renderer 系のクラスを作るのではなく、 属性値のフラグで、制御します。 将来的には、TableWriter 系も廃止して、同様のフラグで制御するように変更する予定です。 初期値は、システム定数の USE_TABLE_WRITER_RENDERER で指定できます。
5.2.1.0 (2010/10/01) 新規作成 |
public java.lang.String toString()
CommonTagSupport
内の toString
|
openGion 5.4.2.0 | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |