|
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.QueryTag
org.opengion.hayabusa.taglib.PlsqlUpdateTag
public class PlsqlUpdateTag
PLSQLをCALLしてデータベースにアクセスするタグです。 queryType = "JDBCPLSQL" が、標準で用意されています。 queryType と 実際のJavaクラスとの関連付けは、システムリソースの Query_JDBCPLSQL 属性です。 DBTableModel内のデータを 配列でPL/SQLに渡してDB登録します。 ※ このタグは、Transaction タグの対象です。
●形式:<og:plsqlUpdate command="…" names="…" dbType="…" queryType="JDBCPLSQL" >{plsql(?,?,?,?,?)} <og:plsqlUpdate>
●body:あり
●Tag定義:
<og:plsqlUpdate
queryType 【TAG】Query を発行する為のクラスIDを指定します(初期値:JDBCPLSQL)
command 【TAG】コマンド(NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY)
scope 【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値: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)
tableModelCommit 【TAG】テーブルモデルの確定処理を行うかどうか[true/false]を設定します(初期値: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
引数のタイプ定義 |
| クラス org.opengion.hayabusa.taglib.QueryTag から継承されたフィールド |
|---|
CMD_NEW, CMD_RENEW, command, displayMsg, dyStart, errCode, errMessage, errMsgId, executeCount, maxRowCount, names, outMessage, quotCheck, skipRowCount, sql, stopError, table, tableId, xssCheck |
| クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド |
|---|
bodyContent |
| クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド |
|---|
id, pageContext |
| インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド |
|---|
EVAL_BODY_BUFFERED, EVAL_BODY_TAG |
| インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド |
|---|
EVAL_BODY_AGAIN |
| インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド |
|---|
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を指定します(初期値:JDBCPLSQL)。 |
void |
setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。 |
void |
setTableModelCommit(java.lang.String flag)
【TAG】テーブルモデルに対する確定処理を行うかどうかを指定します(初期値:true)。 |
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。 |
| クラス org.opengion.hayabusa.taglib.QueryTag から継承されたメソッド |
|---|
doAfterBody, getRequest, setCheckNames, setCommand, setDbid, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setQuotCheck, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setXssCheck |
| クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド |
|---|
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent |
| クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド |
|---|
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド |
|---|
getParent, setPageContext, setParent |
| フィールドの詳細 |
|---|
public static final java.lang.String CMD_ENTRY
protected java.lang.String userDBType
| コンストラクタの詳細 |
|---|
public PlsqlUpdateTag()
| メソッドの詳細 |
|---|
public int doStartTag()
javax.servlet.jsp.tagext.Tag 内の doStartTagQueryTag 内の doStartTagpublic int doEndTag()
javax.servlet.jsp.tagext.Tag 内の doEndTagQueryTag 内の doEndTag| 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
| 3.5.5.2 (2004/04/02) TaglibUtil.makeHTMLErrorTable メソッドを利用 |
| 3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。 |
| 3.6.1.0 (2005/01/05) オーバーフロー時と登録件数の表示をコメントします。 |
| 4.3.3.0 (2008/09/22) 検索結果を、"DB.ERR_CODE" キーでリクエストにセットする。 |
| 4.3.3.0 (2008/09/22) 属性 stopError の設定により、JSP処理を中止するかどうかを制御します。 |
| 4.3.5.7 (2009/03/22) アクセスカウント不具合対応 |
protected void release2()
QueryTag 内の release2| 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
| 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
| 3.5.2.0 (2003/10/20) sysDBType 廃止。SYSARG は、システムパラメータ で定義します。 |
| 5.5.5.2 (2012/08/10) isTableModelCommit追加 |
protected void execute(Query query)
QueryTag 内の executequery - オブジェクト| 2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更 |
| 3.5.0.0 (2003/09/17) カラム名ではなく、カラム番号を先に求めておく方式に変更。 |
| 3.5.2.0 (2003/10/20) 内部オブジェクトタイプ名を システムパラメータ で定義します。 |
| 3.5.4.2 (2003/12/15) HTMLTableViewForm クラス名変更(⇒ ViewForm_HTMLTable) |
| 3.5.6.0 (2004/06/18) DBRowHeader のパッケージプライベート化に伴なう変更 |
| 4.0.0 (2005/01/31) setArguments 廃止、Query#execute に、引数をすべて追加 |
| 4.3.0.0 (2008/07/22) DBSysArgの引数に日付、PG、ユーザーIDを追加 |
| 5.5.5.2 (2012/08/10) isTableModelCommitによるテーブルモデル確定処理のコントロール |
protected int[] getParameterRows()
CommonTagSupport 内の getParameterRows| 4.0.0 (2005/01/31) getParameterRows() を使用するように変更 |
public void setDbType(java.lang.String type)
type - 定義のPL/SQL名ここでは、type 定義のPL/SQL名を指定します。 行を表す配列は、type名_ARRAY という名称です。
public void setSelectedAll(java.lang.String all)
all - データを全件選択済み [true:全件選択済み/false:通常]全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、(true/false)を指定します。 初期値は false です。
public void setQueryType(java.lang.String id)
QueryTag 内の setQueryTypeid - Query を発行する為の実クラス IDQueryのサブクラス,
Query.execute( String ,String , DBSysArg[] , DBUserArg[] )引数指定のINSERT/UPDATE文を実行する場合の、queryType 属性を使用します。 このタグでは、execute( String ,String , DBSysArg[] , DBUserArg[] )を実行します。 代表的なクラスとして、"JDBCPLSQL" が標準で用意されています。 タグにより使用できる/出来ないがありますが、これは、org.opengion.hayabusa.db 以下の Query_**** クラスの **** を与えます。 これらは、Query インターフェースを継承したサブクラスです。
| 3.5.4.2 (2003/12/15) JavaDocコメント用にメソッド追加。 |
public void setTableModelCommit(java.lang.String flag)
flag - テーブルモデルに対する処理を行うかどうかPlsqlUpdateタグで、エラーがなかった場合は通常、テーブルモデルの改廃に従って処理が行われます。 (改廃Dについては削除処理を行い、その他については改廃を元に戻す) このパラメータをfalseに指定すると、テーブルモデルに対する処理を行いません。 これは、例えばPL/SQLでエラーチェックのみを行いたい場合に有効です。 初期値はtrue(処理を行う)です。
| 5.5.5.2 (2012/08/10) 新規作成 |
public java.lang.String toString()
QueryTag 内の toString
|
openGion 5.5.9.0 | ||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||