public class TableFilterTag extends CommonTagSupport
●形式:<og:tableFilter classId="…" />
●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)
●Tag定義:
<og:tableFilter
classId ○【TAG】データベース処理を実行するクラスパスを指定します(必須)。
tableId 【TAG】(通常は使いません)DBTableModel sessionに登録されているキーを指定します
modifyType 【TAG】データ処理の方法(A:追加 C:更新 D:削除)を指定します
keys 【TAG】リンク先に渡すキーを指定します
vals 【TAG】keys属性に対応する値をCSV形式で複数指定します
selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)
stopZero 【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])
scope 【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します
caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20)
caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20)
caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
> ... Body ...
</og:tableFilter>
●使用例
・引数/プロシジャーを直接書く場合
【entry.jsp】
<og:tableFilter
classId = "WL_LOGICSET" :TableFilter のサブクラス(実行クラス)
tableId = "WL0000" :登録元のDBTableModelのsession/request変数内の取得キー
keys = "AA,BB,CC" :実行クラスへの引数のキー
vals = "{@AA},{@BB},{@CC}" :実行クラスへの引数の値
selectedAll = "false/true" :処理対象の行を全行選択するかどうか(初期値:false)
modifyType = "A/C/D" :処理の方法(A:追加 C:更新 D:削除)を指定します。初期値は自動です。
/>
・BODY部分に、CSS形式のパラメータ(keys,vals)を記述する例
<og:tableFilter
classId = "WL_LOGICSET" :TableFilter のサブクラス(実行クラス)
tableId = "WL0000" :登録元のDBTableModelのsession/request変数内の取得キー
selectedAll = "false/true" :処理対象の行を全行選択するかどうか(初期値:false)
modifyType = "A/C/D" :処理の方法(A:追加 C:更新 D:削除)を指定します。初期値は自動です。
>
{
AA : {@AA}
BB : {@BB}
CC : {@CC}
}
</og:tableFilter>| 3.8.5.0 (2006/03/20) 新規作成 |
bodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE| コンストラクタと説明 |
|---|
TableFilterTag() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected int[] |
getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setClassId(java.lang.String id)
【TAG】データベース処理を実行するクラスパスを指定します。
|
void |
setDbid(java.lang.String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
|
void |
setKeys(java.lang.String key)
【TAG】リンク先に渡すキーを指定します。
|
void |
setModifyType(java.lang.String type)
【TAG】データ処理の方法(A:追加 C:更新 D:削除)を指定します。
|
void |
setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
|
void |
setStopZero(java.lang.String cmd)
【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setVals(java.lang.String val)
【TAG】names属性に対応する値をCSV形式で複数指定します。
|
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, 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, useXssCheckdoInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParent, setPageContext, setParentpublic TableFilterTag()
public int doStartTag()
doStartTag インタフェース内 TagdoStartTag クラス内 CommonTagSupport| 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加 |
public int doAfterBody()
doAfterBody インタフェース内 IterationTagdoAfterBody クラス内 CommonTagSupport| 5.6.5.2 (2013/06/21) bodyローカル化、sql、paramMap 追加 |
public int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 CommonTagSupport| 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 |
| 4.2.3.0 (2008/06/23) DBIDとボディー部分の記述を下位クラスに渡す用に修正 |
| 4.3.7.4 (2009/07/01) Resouceオブジェクトを下位クラスに渡す用に修正 |
| 5.1.9.0 (2010/08/01) Transaction 対応 |
| 5.2.1.0 (2010/10/01) debugPrint() メソッドの処理条件見直し |
| 5.3.7.0 (2011/07/01) TransactionReal の引数変更 、Transaction対応で、close処理を入れる。 |
| 5.6.5.2 (2013/06/21) bodyローカル化、sql、paramMap 追加 |
| 5.7.6.2 (2014/05/16) table件数が変わる場合、"DB.COUNT" キーでリクエストに再セットする。 |
| 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加 |
protected void release2()
release2 クラス内 CommonTagSupport| 5.6.5.2 (2013/06/21) body廃止、sql、paramMap 追加 |
| 5.7.6.2 (2014/05/16) stopZero属性追加 |
protected int[] getParameterRows()
getParameterRows クラス内 CommonTagSupportpublic void setClassId(java.lang.String id)
id - TableFilter インターフェースを継承している実クラスの IDTableFilter インターフェース ここで指定するクラスIDは、システムリソース にて TableFilter の
サブクラス(インターフェース継承)として指定する必要があります。
クラス自身は、org.opengion.hayabusa.db.TableFilter インターフェースを継承している必要があります。
{@og.doc03Link tableFilter TableFilter_**** クラス}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 setSelectedAll(java.lang.String all)
all - データを全件選択済み [true:全件選択済み/false:通常]全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、指定します。(true/false) デフォルト false です。
public void setStopZero(java.lang.String cmd)
cmd - 検索結果が0件のとき、[true:処理を中止する/false:続行する]初期値は、false(続行する)です。
| 5.7.6.2 (2014/05/16) 新規追加 |
public void setModifyType(java.lang.String type)
type - データ処理の方法(A:追加 C:更新 D:削除)通常は、DBTableModel に自動設定されている modifyType を元に、データ処理方法を 選別します。(A:追加 C:更新 D:削除) この場合、行単位で modifyType の値を取得して判別する必要がありますが、一般には 処理対象は、全件おなじ modifyType である可能性が高いです。 また、selectedAll などで強制的に全件処理対象とする場合は、modifyType に値が 設定さていません。その様な場合に外部より modifyType を指定します。 初期値は、自動判定 です。
public void setKeys(java.lang.String key)
key - リンク先に渡すキー戻る時に、検索時のキャッシュに指定した引数以外に指定したり、別の値に置き換えたり する場合のキーを設定できます。カンマ区切りで複数指定できます。 vals 属性には、キーに対応する値を、設定してください。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setVals(java.lang.String val)
val - names属性に対応する値キーに設定した値を、カンマ区切り文字で複数して出来ます。 指定順序は、キーと同じにしておいて下さい。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setDbid(java.lang.String id)
id - データベース接続IDQueryオブジェクトを作成する時のDB接続IDを指定します。 これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先 情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して データベースにアクセスできます。
public java.lang.String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.