public class TableUpdateTag extends QueryTag
SQL文を直接指定して、データベースに追加/更新/削除を行います(queryType="JDBCTableUpdate")。 存在チェックを行う場合は、tableExist タグと併用してください。 複雑な処理が必要な場合は、従来より使用しています、PLSQLをCALLする、 plsqlUpdateタグを使用してください。 また、tableUpdateParam タグを使用する事で、テーブル名とsqlTypeの指定で動的に SQL文を自動生成できます。これにより、追加、更新、削除やテーブルに関して、 単一のJSP画面ですべて対応できるようになります。 ※ このタグは、Transaction タグの対象です。
●形式:<og:tableUpdate command="…" names="…" queryType="JDBCTableUpdate" >
{@SQL}
</og:update>
●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)
●Tag定義:
<og:tableUpdate
queryType 【TAG】Query を発行する為のクラスIDを指定します(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=7.0.3.1&VALUENAME=queryType" target="CONTENTS">初期値:JDBCTableUpdate</a>)
sqlType 【TAG】BODY部に書かれている Param の SQLタイプを指定します
command 【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY)
scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session)
displayMsg 【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])
resourceType 【特殊】クリアするリソースの種類[GEA03/GEA04/GEA08]を指定します
conditionKey 【TAG】条件判定するカラムIDを指定します(初期値:null)
conditionList 【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件) 7.0.1.8 (2019/01/28) 正規表現に変更
tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します
selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)
commitTableModel 【特殊】SQL実行後に結果をDBTableModelに反映させるかどうか[true/false]を指定します(初期値:true)
followCdkh 【TAG】DBTableModelの改廃Cに従って処理を行うかを指定します
quotCheck 【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します(初期値:false)
useTimeView 【TAG】処理時間を表示する TimeView を表示するかどうかを指定します
(初期値:VIEW_USE_TIMEBAR[=true])。
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:tableUpdate>
●使用例
・QUERYを他のJSPから渡す場合
【copy.jsp】
<og:hidden name="SQL" >
INSERT INTO GE41
(CLM,NAME_JA,LABEL_NAME,KBSAKU,SYSTEM_ID,LANG,
FGJ,DYSET,DYUPD,USRSET,USRUPD,PGUPD)
VALUES
([CLM],[NAME_JA],[LABEL_NAME],[KBSAKU],[SYSTEM_ID],[LANG],
'1','{@USER.YMDH}','{@USER.YMDH}','{@USER.ID}','{@USER.ID}','{@GUI.KEY}')
</og:value>
【entry.jsp】
<og:tableUpdate
command = "{@command}"
queryType = "JDBCTableUpdate"
{@SQL}
</og:tableUpdate>
・tableUpdateParamを使用する場合
【entry.jsp】
<og:tableUpdate
command = "{@command}"
queryType = "JDBCTableUpdate"
sqlType = "{@sqlType}" // tableUpdateParam の sqlType と一致
>
<og:tableUpdateParam
sqlType = "{@sqlType}" // INSERT,COPY,UPDATE,MODIFY,DELETE
table = "{@TABLE_NAME}" // 処理対象のテーブル名
names = "{@names}" // 処理対象のカラム名
omitNames = "{@omitNames}" // 処理対象外のカラム名
where = "{@where}" // 処理対象を特定するキー
constKeys = "{@constKeys}" // 処理カラム名の中の固定情報カラム名
constVals = "{@constVals}" // 処理カラム名の中の固定情報設定値
/>
</og:tableUpdate>
・処理の可否を指定する場合
【entry.jsp】
<og:tableUpdate
command = "{@command}"
queryType = "JDBCTableUpdate"
conditionKey ="…" : 条件判定するカラムIDを指定(初期値は columnId )
conditionList ="…" : 条件判定する値のリストを、"|"で区切って登録(初期値は、無条件)
{@SQL}
</og:tableUpdate>| 修飾子とタイプ | フィールドと説明 |
|---|---|
static java.lang.String |
CMD_ENTRY
command 引数に渡す事の出来る コマンド 登録"ENTRY"
|
CMD_NEW, CMD_RENEW, command, dispError, displayMsg, dyStart, ERR_MSG_ID, errCode, errMessage, executeCount, maxRowCount, names, outMessage, skipRowCount, sql, stopError, table, tableId, useTimeView, xssCheckBR, BUFFER_MIDDLE, CRbodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE| コンストラクタと説明 |
|---|
TableUpdateTag()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
execute(Query query)
Query を実行します。
|
protected java.lang.String[] |
getNames()
引数の名称配列。
|
protected int[] |
getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行番号の
配列を返します。
|
protected java.lang.String |
getSqlType()
SQLタイプを返します。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCommitTableModel(java.lang.String commitTblMdl)
【特殊】SQL実行後に結果をDBTableModelに反映させるかどうか[true/false]を指定します(初期値:true)。
|
void |
setConditionKey(java.lang.String key)
【TAG】条件判定するカラムIDを指定します(初期値:null)。
|
void |
setConditionList(java.lang.String list)
【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
|
void |
setFollowCdkh(java.lang.String flag)
【TAG】DBTableModelの改廃Cに従って処理を行うかを指定します。
|
void |
setQueryType(java.lang.String id)
【TAG】Query を発行する為のクラスIDを指定します()。
|
void |
setQuotCheck(java.lang.String flag)
【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します(初期値:false)。
|
void |
setResourceType(java.lang.String type)
【特殊】クリアするリソースの種類[GEA03/GEA04/GEA08]を指定します。
|
void |
setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
|
void |
setSqlType(java.lang.String type)
【TAG】BODY部に書かれている Param の SQLタイプを指定します。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
addPlaceValue, doAfterBody, getRequest, setCheckNames, setCommand, setDbid, setDispError, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setUseTimeView, setXssCheckadd, 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, 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 static final java.lang.String CMD_ENTRY
public TableUpdateTag()
public int doStartTag()
doStartTag インタフェース内 TagdoStartTag クラス内 QueryTagpublic int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 QueryTagprotected void release2()
protected void execute(Query query)
protected int[] getParameterRows()
getParameterRows クラス内 CommonTagSupportpublic void setQueryType(java.lang.String id)
setQueryType クラス内 QueryTagid - QueryタイプQueryのサブクラス,
Query.execute( int[] ,DBTableModel )public void setResourceType(java.lang.String type)
type - クリアリソースタイプ [GEA03/GEA04/GEA08]public void setConditionKey(java.lang.String key)
key - 条件判定カラムsetConditionList( String )public void setConditionList(java.lang.String list)
list - 条件判定値 ("|"区切のリスト)setConditionKey( String )public void setSelectedAll(java.lang.String all)
all - データを全件選択済み [true:全件選択済み/false:通常]public void setCommitTableModel(java.lang.String commitTblMdl)
commitTblMdl - 反映有無 [true:反映する/false:反映しない]protected java.lang.String[] getNames()
public void setSqlType(java.lang.String type)
type - SQLタイプpublic void setFollowCdkh(java.lang.String flag)
flag - 改廃C処理 [true:行う/false:行わない]public void setQuotCheck(java.lang.String flag)
setQuotCheck クラス内 QueryTagflag - クォートチェック [true:する/それ以外:しない]protected java.lang.String getSqlType()
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.