public class PlsqlUpdateTag extends QueryTag
PLSQLをCALLしてデータベースにアクセスするタグです。 queryType = "JDBCPLSQL" が、標準で用意されています。 queryType と 実際のJavaクラスとの関連付けは、システムリソースの Query_JDBCPLSQL 属性です。 DBTableModel内のデータを 配列でPL/SQLに渡してDB登録します。 ※ このタグは、Transaction タグの対象です。
●形式:<og:plsqlUpdate command="…" names="…" dbType="…" queryType="JDBCPLSQL" >{plsql(?,?,?,?,?)} <og:plsqlUpdate> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:plsqlUpdate queryType 【TAG】Query を発行する為のクラスIDを指定します(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=7.0.1.3&VALUENAME=queryType" target="CONTENTS">初期値:JDBCPLSQL</a>) command 【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY) scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) maxRowCount 【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限]) skipRowCount 【TAG】(通常は使いません)データの読み始めの初期値を指定します notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) names 【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します dbType 【TAG】Queryオブジェクトに渡す引数のタイプ定義(例:type名_ARRAY) selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します stopError 【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true) dispError 【TAG】エラー時にメッセージを表示するか[true/false]を設定します。通常はstopErrorと併用(初期値:true) tableModelCommit 【TAG】テーブルモデルの確定処理を行うかどうか[true/false]を設定します(初期値:true) 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:plsqlUpdate> ●使用例 ・引数/プロシジャーを他のJSPから渡す場合 【copy.jsp】 <og:hidden name="names" value="UNIQ,USRID,ECNO,EDBN" /> <og:hidden name="SQL" value="{ call RKP0271E.RK0271E( ?,?,?,?,? ) }" /> 【entry.jsp】 <og:plsqlUpdate command = "{@command}" names = "{@names}" →PL/SQLに渡す引数(配列)のカラム名 dbType = "RK0271ARG" →PL/SQLに渡す引数(配列)の定義ファイル名 queryType = "JDBCPLSQL" > {@SQL} →CALLするPL/SQL </og:plsqlUpdate> ・引数/プロシジャーを直接書く場合 【entry.jsp】 <og:plsqlUpdate command = "{@command}" names = "UNIQ,USRID,ECNO,EDBN" →PL/SQLに渡す引数(配列)のカラム名 dbType = "RK0271ARG" →PL/SQLに渡す引数(配列)の定義ファイル名 queryType = "JDBCPLSQL" > { call RKP0271E.RK0271E( ?,?,?,?,? )} →CALLするPL/SQL </og:plsqlUpdate> <<参考>> ・RKP0271E.RK0271E( ?,?,?,?,? )の「?」の意味 (RKP0271E.spc)------------------------------------------------------------ CREATE OR REPLACE PACKAGE RKP0271E AS PROCEDURE RK0271E( P_KEKKA OUT NUMBER -- 1個目の「?」⇒結果 0:正常 1:警告 2:異常 ,P_ERRMSGS OUT ERR_MSG_ARRAY -- 2個目の「?」⇒エラーメッセージ配列 ,P_NAMES IN VARCHAR2 -- 3個目の「?」⇒カラム名チェック用文字列 ,P_SYSARGS IN SYSARG_ARRAY -- 4個目の「?」⇒登録条件配列(改廃(A:追加/C:変更/D:削除)等がセットされます) ,P_RK0271 IN RK0271ARG_ARRAY -- 5個目の「?」⇒登録データ配列 ・RK0271ARGの定義の仕方 (RK0271ARG.sql)------------------------------------------------------------ DROP TYPE RK0271ARG_ARRAY; CREATE OR REPLACE TYPE RK0271ARG AS OBJECT ( UNIQ VARCHAR2(11) ,USRID VARCHAR2(5) ,ECNO VARCHAR(7) ,EDBN VARCHAR(2) ) ; / CREATE OR REPLACE TYPE RK0271ARG_ARRAY AS VARRAY(100) OF RK0271ARG; /
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
CMD_ENTRY
command 引数に渡す事の出来る コマンド 登録"ENTRY"
|
protected java.lang.String |
userDBType
引数のタイプ定義
|
CMD_NEW, CMD_RENEW, command, dispError, displayMsg, dyStart, ERR_MSG_ID, errCode, errMessage, executeCount, maxRowCount, names, outMessage, quotCheck, skipRowCount, sql, stopError, table, tableId, useTimeView, xssCheck
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
コンストラクタと説明 |
---|
PlsqlUpdateTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
execute(Query query)
Query を実行します。
|
protected int[] |
getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setDbType(java.lang.String type)
【TAG】Queryオブジェクトに渡す引数のタイプ定義(例:type名_ARRAY)。
|
void |
setQueryType(java.lang.String id)
【TAG】Query を発行する為のクラスIDを指定します()。
|
void |
setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
|
void |
setTableModelCommit(java.lang.String flag)
【TAG】テーブルモデルに対する確定処理を行うかどうかを指定します(初期値:true)。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
addPlaceValue, doAfterBody, getRequest, setCheckNames, setCommand, setDbid, setDispError, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setQuotCheck, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setUseTimeView, setXssCheck
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, 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_ENTRY
protected java.lang.String userDBType
public PlsqlUpdateTag()
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 QueryTag
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 QueryTag
protected void release2()
protected void execute(Query query)
execute
クラス内 QueryTag
query
- オブジェクトprotected int[] getParameterRows()
getParameterRows
クラス内 CommonTagSupport
public void setDbType(java.lang.String type)
type
- 定義のPL/SQL名public void setSelectedAll(java.lang.String all)
all
- データを全件選択済み [true:全件選択済み/false:通常]public void setQueryType(java.lang.String id)
setQueryType
クラス内 QueryTag
id
- Queryを発行する為の実クラスIDQueryのサブクラス
,
Query.execute( String ,String , DBSysArg[] , DBUserArg[] )
public void setTableModelCommit(java.lang.String flag)
flag
- テーブルモデルの確定処理 [true:する/false:しない]Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.