public class DataCheckTag extends CommonTagSupport
画面で入力されたデータのチェックを行うためのタグです。 commandがNEWの場合は検索条件等のリクエストパラメータに対してチェックを行います。 commandがENTRYの場合は、登録時のDBテーブルモデルに対するチェックを行います。 (値の取得は、先に選択された行のみについて、実行されます。) チェックを行うための定義は、SQL文 又は JavaScriptの式が記述可能です。 これらの式はタグのボディー部分に記述します。 SQL文によりチェックを行う場合は、必ず件数が返されるように記述して下さい(select count(*) ・・・ 等) このSQL文で取得された件数とexistの属性値とを照合しチェックを行います。 いずれの場合も、成立時は、正常とみなします。 (「true:存在する」 には、データが存在した場合に、OKで、なければエラーです。) JavaScript式を記述する場合は、必ずtrue or falseを返す式を指定して下さい。 この式を評価した結果falseが返される場合は、エラーとみなします。 式に不等号等を使用する場合は、CDATAセクションで囲うようにして下さい。 また、いずれのチェック方法の場合でも、引数部に[カラム名]を用いたHybs拡張SQL文を 指定することが可能です。 メッセージIDの{0},{1}にはそれぞれ[カラム名]指定されたカラム名及びデータがCSV形式で 自動的に設定されます。 ※ このタグは、Transaction タグの対象です。
●形式: ・<og:dataCheck command = "{@command}" exist = "[auto|true|false|one|notuse]" errRemove = "[true|false]" lbl = "{@lbl}" lblParamKeys = "ZY03" : メッセージリソースのキーをCSV形式で指定。{2} 以降にセット sqlType = "{@sqlType}" execType = "INSERT|COPY|UPDATE|MODIFY|DELETE" : sqlType を含む場合、実行 conditionKey = "FGJ" : 条件判定するカラムIDを指定(初期値は columnId ) conditionList = "0|1|8|9" : 条件判定する値のリストを、"|"で区切って登録(初期値は、無条件) uniqCheckClms = "CLM,LANG" : DBTableModel内でのユニークキーチェックを行うためのカラム > ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) (SQL文 又は JavaScript式) :なし( from属性、where属性を使用して、SQL文を内部で作成します) ●Tag定義: <og:dataCheck command 【TAG】コマンド (NEW or ENTRY)をセットします exist 【TAG】データベースのチェック方法[auto/true/false/one/notuse]を指定します(初期値:auto[自動]) tableId 【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します(初期値:null) lbl 【TAG】ラベルリソースIDを指定します lblParamKeys 【TAG】ラベルリソースの引数をCSV形式で指定します errRemove 【TAG】エラー時の選択行を取り除いて継続処理を行うかどうか[true/false]を指定します(初期値:false) sqlType 【TAG】このチェックを行う、SQLタイプ を指定します execType 【TAG】このチェックを行う、実行タイプ を指定します conditionKey 【TAG】条件判定するカラムIDを指定します conditionList 【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件) uniqCheckClms 【TAG】指定されたキーに従って、メモリ上のテーブルに対してユニークキーチェックを行います beforeErrorJsp 【TAG】エラーが発生した際に、エラーメッセージの表示前にincludeするJSPを指定します afterErrorJsp 【TAG】エラーが発生した際に、エラーメッセージの表示後にincludeするJSPを指定します selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) X msg 【廃止】メッセージIDを指定します(lbl 属性を使用してください) X msgParamKeys 【廃止】メッセージリソースの引数をCSV形式で指定します(lblParamKeys 属性を使用してください) from 【TAG】tableExist タグ廃止に伴う、簡易機能追加。チェックするデータベース名(from 句)を指定します。 where 【TAG】tableExist タグ廃止に伴う、簡易機能追加。チェックする検索条件(where句)を指定します。 caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:dataCheck> ●使用例 ・<og:dataCheck command = "ENTRY" exist = "true" lbl = "MSG0001" > select count(*) from GEA03 where clm = [CLM] </og:dataCheck> ・exist 属性の値に応じて、チェック方法が異なります。 [ auto , true , false , one , notuse が指定できます。] ・<og:dataCheck command = "ENTRY" lbl = "MSG0001" > <![CDATA[ [DYSTART] < [DY] && [DY] < [DYEND] ]]> </og:dataCheck> ・<og:dataCheck command = "ENTRY" lbl = "MSG0001" > <![CDATA[ [GOKEI] < [TANKA] * [RITU] ]]> </og:dataCheck> ※ og:tableExist タグが廃止されました。og:dataCheckタグで置き換えてください。 ・<og:tableExist command = "{@command}" names = "USERID,SYSTEM_ID" from = "GE10" where = "USERID=? AND SYSTEM_ID=?" exist = "true" /> ⇒ ・<og:dataCheck command = "{@command}" exist = "true" from = "GE10" where = "USERID=[USERID] AND SYSTEM_ID=[SYSTEM_ID]" /> ・<og:tableExist command = "{@command}" from = "GE10" where = "USERID=[USERID] AND SYSTEM_ID=[SYSTEM_ID]" /> ⇒ ・<og:dataCheck command = "{@command}" from = "GE10" where = "USERID=[USERID] AND SYSTEM_ID=[SYSTEM_ID]" /> />
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
CMD_ENTRY
command 引数に渡す事の出来る コマンド "ENTRY"
|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド "NEW"
|
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
コンストラクタと説明 |
---|
DataCheckTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected int[] |
getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAfterErrorJsp(java.lang.String jsp)
【TAG】エラーが発生した際に、エラーメッセージの表示後にincludeするJSPを指定します。
|
void |
setBeforeErrorJsp(java.lang.String jsp)
【TAG】エラーが発生した際に、エラーメッセージの表示前にincludeするJSPを指定します。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド (NEW or ENTRY)をセットします。
|
void |
setConditionKey(java.lang.String key)
【TAG】条件判定するカラムIDを指定します(初期値:null)。
|
void |
setConditionList(java.lang.String list)
【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
|
void |
setDbid(java.lang.String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します(初期値:null)。
|
void |
setErrRemove(java.lang.String flag)
【TAG】エラー時の選択行を取り除いて継続処理を行うかどうか[true/false]を指定します(初期値:false)。
|
void |
setExecType(java.lang.String type)
【TAG】このチェックを行う、実行タイプ を指定します。
|
void |
setExist(java.lang.String ext)
【TAG】データベースのチェック方法[auto/true/false/one/notuse]を指定します(初期値:auto[自動])。
|
void |
setFrom(java.lang.String frm)
【TAG】チェックするデータベース名(from 句)を指定します。
|
void |
setLbl(java.lang.String id)
【TAG】ラベルリソースのラベルIDを指定します。
|
void |
setLblParamKeys(java.lang.String keys)
【TAG】ラベルリソースの引数をCSV形式で指定します。
|
void |
setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
|
void |
setSqlType(java.lang.String type)
【TAG】このチェックを行う、SQLタイプ を指定します。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=])。
|
void |
setUniqCheckClms(java.lang.String clm)
【TAG】指定されたキーに従って、メモリ上のテーブルに対してユニークキーチェックを行います。
|
void |
setWhere(java.lang.String whr)
【TAG】チェックする検索条件(where句)を指定します。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, 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, 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, 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
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_ENTRY
public DataCheckTag()
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 CommonTagSupport
public int doAfterBody()
doAfterBody
インタフェース内 IterationTag
doAfterBody
クラス内 CommonTagSupport
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
protected void release2()
release2
クラス内 CommonTagSupport
public void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)public void setDbid(java.lang.String id)
id
- データベース接続IDpublic void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)public void setExist(java.lang.String ext)
ext
- チェック方法 [auto:自動/true:存在する/false:存在しない/one:ひとつ以下/notuse:チェックしない]public void setErrRemove(java.lang.String flag)
flag
- エラーデータを除外 [true:継続処理/false:エラー時停止]public void setLbl(java.lang.String id)
setLbl
クラス内 CommonTagSupport
id
- メッセージIDsetLblParamKeys( String )
public void setLblParamKeys(java.lang.String keys)
keys
- メッセージリソースのキー(CSV)setLbl( String )
public void setSqlType(java.lang.String type)
type
- このチェックを行うSQLタイプpublic void setExecType(java.lang.String type)
type
- このチェックを行う実行タイプpublic void setConditionKey(java.lang.String key)
key
- カラムIDsetConditionList( String )
public void setConditionList(java.lang.String list)
list
- 条件判定する値("|"で区切)setConditionKey( String )
public void setUniqCheckClms(java.lang.String clm)
clm
- チェックキー(CSV形式)public void setBeforeErrorJsp(java.lang.String jsp)
jsp
- 表示前にincludeするJSPファイル名public void setAfterErrorJsp(java.lang.String jsp)
jsp
- 表示後にincludeするJSPファイル名public void setSelectedAll(java.lang.String all)
all
- 選択済み処理可否 [true:全件選択済み/false:通常]public void setFrom(java.lang.String frm)
frm
- チェックするテーブルIDpublic void setWhere(java.lang.String whr)
whr
- チェックするWHERE条件protected int[] getParameterRows()
getParameterRows
クラス内 CommonTagSupport
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.