public class ColumnCheckTag extends CommonTagSupport
登録データの物理チェック(整合性チェック、nullチェック)を行うタグです。 コマンドに対応したチェック方式で、指定のカラムをチェックします。 command="NEW" の場合は、columns 引数にCSV形式で指定したカラム名より リクエスト情報を取得して、値をチェックします。 引数チェックでは、"%" や "_" などのあいまい検索時に指定する記号を 含むとエラーになるカラムはチェック対象からはずす必要がある為、 チェックすべきカラムを指定する必要があります。 command="ENTRY" の場合は、columns 引数に無関係に、全てのリクエストされたカラム の値をチェックします。これは、先の検索時の場合と異なり、ENTRYでは データベースに値を設定する為、無条件にチェックする必要があります。 nullCheck は、command に無関係に指定のカラムが null (ゼロ文字列)かどうかを 判定します。 maxRowCount は、一覧検索時のチェックされた件数が、指定の値を超えた場合に エラーになります。minRowCount は、同様に、最小選択件数(設定値を含む)の指定です。 このタグは、エラー時には、それ以降のJSP画面を評価しません。BODY 部に記述された 値は、エラー時のみ表示され、正常時には、なにも表示されません。これは、エラー時の メッセージや、ユーザーにエラー時のアクションを行ってもらう場合の処理(例えば、 画面を戻る為のボタンなど)を表示させます。 useColumnLabel を true にセットすると、エラー時のカラム名(ラベル)を、カラムオブジェクトから 取得するようになります。動的カラム実行時や、DBTableModelに対して、ColumnEditor等で ラベルを書き換えた場合に、有効です。false の場合は、基本的にはラベルリソースからの 取得になりますが、ケースによっては、カラムオブジェクトから取得している場合もあります。 この属性は、互換性を重視し、初期値が、false になっています。 command="MODIFY" , "DELETE" 時には、強制的に、minRowCount="1" で処理します。
●形式:<og:columnCheck command = "…" /> ●形式:<og:columnCheck command = "…" >エラー時のみ処理 </og:columnCheck> ●body:なし/あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:columnCheck command 【TAG】コマンド[NEW/RENEW/ENTRY]をセットします(初期値:NEW) columns 【TAG】チェックすべきカラム列をCSV形式(CSV形式)で指定します nullCheck 【TAG】NULL チェックすべきカラム列をカンマ区切(CSV形式)りで指定します mustAnyCheck 【TAG】選択必須カラム(指定のカラムの内最低ひとつがNULLでない)を"AA|BB|CC,XX|YY|ZZ" 形式で指定します checkType 【TAG】チェック対象のデータ[AUTO/NEW/ENTRY]を指定します(初期値:AUTO) maxRowCount 【TAG】ENTRY時にチェックで選択された行数の最大値を設定します minRowCount 【TAG】ENTRY時にチェックで選択された行数の最小値を設定します tableId 【TAG】(通常は使いません) sessionに登録されている DBTableModel を取り出すキーを指定します matchKeys 【TAG】正規表現でのマッチングを行うカラム列をCSV形式(CSV形式)で指定します matchVals 【TAG】正規表現でのマッチングを行うカラム列に対する値(正規表現)をCSV形式(CSV形式)で指定します realTime 【TAG】(通常は使いません)リアルタイムチェックを行う場合に有効にします(初期値:false) useStrict 【TAG】NEWの場合に、厳密にチェックするかどうか[true/false]を指定します(初期値:false) useColumnLabel 【TAG】カラムラベルを使用するかどうか[true/false]を指定します(初期値:false) checkNames 【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します 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:columnCheck> ●使用例 <og:columnCheck command = "{@command}" columns = "AAA,BBB,CCC" DB定義(DBColumnリソース)で定義した項目(桁数,タイプ等)でチェックします。 maxRowCount = "1" チェックで選ばれた 最大選択件数(設定値を含む)を指定。 minRowCount = "1" チェックで選ばれた 最小選択件数(設定値を含む)を指定。 nullCheck = "AAA,CCC" NULLチェックを実行します。 /> [エラー時に、BODY部に記述された内容を出力する。正常時には、このBODY部の記述は出力されません。] <og:columnCheck command = "{@command}" columns = "AAA,BBB,CCC" DB定義(DBColumnリソース)で定義した項目(桁数,タイプ等)でチェックします。 nullCheck = "AAA,CCC" NULLチェックを実行します。 > <form method="POST" action="forward.jsp" target="RESULT"> <og:input type="button" onClick="history.back()" msg="MSG0049" accesskey="R" td="false" /> </form> </og:columnCheck> mustAnyCheck 属性に、選択必須カラムを指定します。 例:mustAnyCheck="AA|BB|CC" AA,BB,CC のカラムで選択必須(すべてがnullならエラー) 例:mustAnyCheck="AA|BB|CC,XX|YY|ZZ" AA,BB,CC のセットと、XX,YY,ZZのセットでそれぞれ選択必須。 例:mustAnyCheck="AA|XX,AA|YY,AA|ZZ" AA に値があればすべて成立。そうでない場合は、XX と YY と ZZ がすべて必須。 例:mustAnyCheck="AA|BB,BB|CC,AA|CC" AA,BB,CC の内、どれか2つが必須。AAが成立すればBBかCCが必須。同様に、 BBが成立すれば、AAかCCが必須。 例:query.jsp <og:column name="AA" mustAny="true" /> <og:column name="BB" mustAny="true" /> <og:column name="XX" mustAny="XYZ" /> <og:column name="YY" mustAny="XYZ" /> result.jsp <og:columnCheck mustAnyCheck="AA|BB,XX|YY" /> custom/custom.css .XYZ { background-color: Green; } 例:動的カラムで、entry.jsp でのチェックを行う場合。 entry.jsp <og:columnCheck command="NEW" columns="*" useColumnLabel="true" /> useColumnLabel で、動的に作成されたカラム(SAVE=TRUEでキャッシュ済み)を使って チェックします。command="NEW" なので、対象カラムを指定するのに、"*" ですべてを選択します。
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
CMD_ENTRY
command 引数に渡す事の出来る コマンド エントリー "ENTRY"
|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"
|
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
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
コンストラクタと説明 |
---|
ColumnCheckTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCheckNames(java.lang.String nm)
【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します。
|
void |
setCheckType(java.lang.String flag)
【TAG】 チェック対象のタイプ[AUTO/NEW/ENTRY]を指定します(初期値:AUTO)。
|
void |
setColumns(java.lang.String clms)
【TAG】チェックすべきカラム列をCSV形式(CSV形式)で指定します。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド[NEW/RENEW/ENTRY]をセットします(初期値:NEW)。
|
void |
setMatchKeys(java.lang.String keys)
【TAG】正規表現でのマッチングを行うカラム列をCSV形式(CSV形式)で指定します。
|
void |
setMatchVals(java.lang.String vals)
【TAG】正規表現でのマッチングを行うカラム列に対する値(正規表現)をCSV形式(CSV形式)で指定します。
|
void |
setMaxRowCount(java.lang.String count)
【TAG】チェックで選択された行数の最大値を設定します(初期値:-1 無制限)。
|
void |
setMinRowCount(java.lang.String count)
【TAG】チェックで選択された行数の最小値を設定します(初期値:-1 無制限)。
|
void |
setMustAnyCheck(java.lang.String clms)
【TAG】選択必須カラム(指定のカラムの内最低ひとつがNULLでない)を"AA|BB|CC,XX|YY|ZZ" 形式で指定します。
|
void |
setNullCheck(java.lang.String clms)
【TAG】NULL チェックすべきカラム列をCSV形式(CSV形式)で指定します。
|
void |
setRealTime(java.lang.String flag)
【TAG】(通常は使いません)リアルタイムチェックを行う場合に有効にします(初期値:false)。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setUseColumnLabel(java.lang.String flag)
【TAG】カラムラベルを使用するかどうか[true/false]を指定します(初期値:false)。
|
void |
setUseStrict(java.lang.String flag)
【TAG】NEWの場合に、厳密にチェックするかどうか[true/false]を指定します(初期値:false)。
|
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, 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
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
public static final java.lang.String CMD_ENTRY
public ColumnCheckTag()
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 setColumns(java.lang.String clms)
clms
- カラム列(CSV形式)public void setNullCheck(java.lang.String clms)
clms
- カラム列(CSV形式)public void setMustAnyCheck(java.lang.String clms)
clms
- 選択必須カラムpublic void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)public void setCheckType(java.lang.String flag)
flag
- チェックタイプ [AUTO/NEW/ENTRY]public void setMaxRowCount(java.lang.String count)
count
- 最大件数public void setMinRowCount(java.lang.String count)
count
- 制限をかけたい行数 (この件数と同じ場合は正常)public void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)public void setMatchKeys(java.lang.String keys)
keys
- カラム列(CSV形式)setMatchVals( String )
public void setMatchVals(java.lang.String vals)
vals
- カラム列に対する値(正規表現)(CSV形式)setMatchKeys( String )
public void setRealTime(java.lang.String flag)
flag
- リアルタイムチェック [true:する/false:しない]public void setUseStrict(java.lang.String flag)
flag
- 厳密チェックか [true:厳密/false:甘い]public void setUseColumnLabel(java.lang.String flag)
flag
- カラムラベル使用 [true:する/false:しない]public void setCheckNames(java.lang.String nm)
nm
- 正規化を行うカラム(CSV形式)public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.