public class ReadJSONTag extends CommonTagSupport
●形式:
<og:readJSON
command = "NEW"
maxRowCount = "10000" 読取最大件数(0:[無制限])
>
...
<og:readJSON />
●body:なし
●Tag定義:
<og:readTable
readerClass 【TAG】実際に読み出すクラス名の略称(TableReader_**** の ****)をセットします(初期値:Default)
JSONData 【TAG】読み取るJSONデータをセットします。タグのBODYでもセット可能です。
maxRowCount 【TAG】読取時の最大取り込み件数をセットします (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限])
tableId 【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID
command 【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)
modifyType 【TAG】ファイル取り込み時の モディファイタイプ(A(追加),C(更新),D(削除))を指定します
displayMsg 【TAG】query の結果を画面上に表示するメッセージIDを指定します(初期値:MSG0033[ 件検索しました])
notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])
checkColumns 【TAG】読み取り元ファイルの整合性チェックを行うカラム列をカンマ指定します
nullCheck 【TAG】NULL チェックすべきカラム列をカンマ区切り(CVS形式)で指定します
language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します
stopZero 【TAG】読込件数が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])
scope 【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
mainTrans 【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)
skipRowCount 【TAG】(通常は使いません)データの読み飛ばし件数を設定します
useRenderer 【TAG】読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します (初期値:false)
caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null)
caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null)
caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true)
caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true)
debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
/>
●使用例
<og:readJSON
command = "NEW"
readerClass = "Default"
maxRowCount = "10000" 読取最大件数(0:[無制限])
checkColumns = "OYA,KO,HJO,SU" 整合性チェックするカラム列("*" で全カラム)
nullCheck = "OYA,KO,SU" NULLチェックを実行します("*" で全カラム)
stopZero = "true" 取得0件の場合に以降の処理を停止します
>
[JSON Data]
<og:readJSON />| 修飾子とタイプ | フィールドと説明 |
|---|---|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規作成 "NEW"
|
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
| コンストラクタと説明 |
|---|
ReadJSONTag() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected void |
create(java.lang.String out)
TableReader の実オブジェクトを生成して,BufferedReader に書き込みます。
|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCheckColumns(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 |
setJSONData(java.lang.String json)
【TAG】テーブルモデルに取り込むJSONデータ
|
void |
setMainTrans(java.lang.String flag)
【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)。
|
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 チェックすべきカラム列をカンマ区切り(CVS形式)で指定します。
|
void |
setReaderClass(java.lang.String readerClass)
【TAG】実際に読み出すクラス名の略称(JsonReader_**** の ****)をセットします(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=null&VALUENAME=readerClass" target="CONTENTS">初期値:Default</a>)。
|
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[=])。
|
void |
setUseRenderer(java.lang.String flag)
【TAG】読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, 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, useXssCheckpublic static final java.lang.String CMD_NEW
public ReadJSONTag()
public int doStartTag()
doStartTag クラス内 CommonTagSupportpublic int doAfterBody()
doAfterBody クラス内 CommonTagSupportpublic int doEndTag()
doEndTag クラス内 CommonTagSupportprotected void release2()
release2 クラス内 CommonTagSupportprotected void create(java.lang.String out)
out - 出力するBufferedReaderオブジェクトpublic void setTableId(java.lang.String id)
id - sessionに登録する時の ID 検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に
渡す場合に、通常は、session を利用します。その場合の登録キーです。
query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、
この tableId 属性を利用して、メモリ空間を分けます。
(初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])。public void setReaderClass(java.lang.String readerClass)
readerClass - クラス名(の略称)実際に読み出すクラス名(の略称)をセットします。 これは、org.opengion.plugin.json 以下の JsonReader_**** クラスの **** を 与えます。これらは、JsonReader インターフェースを継承したサブクラスです。
public void setMaxRowCount(java.lang.String count)
count - 読取時の最大取り込み件数SystemData.DB_MAX_ROW_COUNT DBTableModelのデータとして登録する最大件数をこの値に設定します。
サーバーのメモリ資源と応答時間の確保の為です。
0 をセットすると、無制限(Integer.MAX_VALUE)になります。
(初期値:ユーザー定数のDB_MAX_ROW_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#DB_MAX_ROW_COUNT}])。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属性)JSON読み込み時に、そのデータをA(追加)、C(更新)、D(削除)の モディファイタイプをつけた状態にします。 その状態で、そのまま、update する事が可能になります。
public void setCheckColumns(java.lang.String clms)
clms - 整合性チェックを行うカラム列(カンマ区切り文字)カラムオブジェクトのDBType属性に対応したチェックを行います。 指定のカラム名をカンマ区切り(CSV)で複数指定できます。 全てのカラムのチェックを行う場合は、allColumnCheck = "true" を 指定して下さい。 分解方法は、通常のパラメータ取得後に、CSV分解します。
public void setNullCheck(java.lang.String clms)
clms - カラム列(CVS形式)nullCheck="AAA,BBB,CCC,DDD" 分解方法は、通常のパラメータ取得後に、CSV分解します。
public void setStopZero(java.lang.String cmd)
cmd - 読込件数が0件のとき、処理を [true:中止する/false:続行する]初期値は、false(続行する)です。
public void setMainTrans(java.lang.String flag)
flag - メイントランザクションかどうかこの値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
public void setSkipRowCount(java.lang.String count)
count - 読み始めの初期値データの読み始めの初期値を指定します。 先頭行が、0行としてカウントしますので、設定値は、読み飛ばす 件数になります。(1と指定すると、1件読み飛ばし、2行目から読み込みます。) 読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。 #NAME属性や、columns 属性は、有効です。
public void setUseRenderer(java.lang.String flag)
flag - コードリソースのラベル逆変換を行うかどうかコードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、 Renderer 系で出力したデータを取り込むことができるようにします。 JSONでの出力ではRenderer系で出力する事は少ないと思われるため、初期値はfalseとしておきます。
public void setJSONData(java.lang.String json)
json - 取り込むJSON形式データテーブルモデルに取り込むためのJSONデータを指定します。 タグのBODYでも指定可能です。
public java.lang.String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.