概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.6.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.taglib
クラス PlsqlUpdateTag

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.tagext.BodyTagSupport
              org.opengion.hayabusa.taglib.CommonTagSupport
                  org.opengion.hayabusa.taglib.QueryTag
                      org.opengion.hayabusa.taglib.PlsqlUpdateTag

すべての実装されたインタフェース:
  java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    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：あり

       ●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;
              /

機能階層
  ＤＢ登録
バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要
`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`

クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
`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, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

クラス 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`

フィールドの詳細

### CMD_ENTRY

    public static final java.lang.String CMD_ENTRY

  command 引数に渡す事の出来る コマンド 登録"ENTRY"

  関連項目:
    定数フィールド値

### userDBType

    protected java.lang.String userDBType

  引数のタイプ定義

コンストラクタの詳細

### PlsqlUpdateTag

    public PlsqlUpdateTag()

メソッドの詳細

### doStartTag

    public int doStartTag()

  Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.Tag` 内の `doStartTag`
  オーバーライド:
    クラス `QueryTag` 内の `doStartTag`
  戻り値:
    後続処理の指示

### doEndTag

    public int doEndTag()

  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.Tag` 内の `doEndTag`
  オーバーライド:
    クラス `QueryTag` 内の `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) アクセスカウント不具合対応

### release2

    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追加

### execute

    protected void execute(Query query)

  Query を実行します。

  オーバーライド:
    クラス `QueryTag` 内の `execute`
  パラメータ:
    `query` - オブジェクト
  変更履歴:

    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によるテーブルモデル確定処理のコントロール

### getParameterRows

    protected int[] getParameterRows()

  表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。 rowNo[] が null の場合のみ、取込を行います。

  オーバーライド:
    クラス `CommonTagSupport` 内の `getParameterRows`
  戻り値:
    選択行の配列
  変更履歴:

    4.0.0 (2005/01/31) getParameterRows() を使用するように変更

### setDbType

    public void setDbType(java.lang.String type)

  【TAG】Queryオブジェクトに渡す引数のタイプ定義(例:type名_ARRAY)。

  パラメータ:
    `type` - 定義のPL/SQL名
  説明:

         ここでは、type 定義のPL/SQL名を指定します。
         行を表す配列は、type名_ARRAY という名称です。

### setSelectedAll

    public void setSelectedAll(java.lang.String all)

  【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。

  パラメータ:
    `all` - データを全件選択済み [true:全件選択済み/false:通常]
  説明:

         全てのデータを選択済みデータとして扱って処理します。
         全件処理する場合に、(true/false)を指定します。
         初期値は false です。

### setQueryType

    public void setQueryType(java.lang.String id)

  【TAG】Query を発行する為のクラスIDを指定します(初期値:JDBCPLSQL)。

  オーバーライド:
    クラス `QueryTag` 内の `setQueryType`
  パラメータ:
    `id` - Query を発行する為の実クラス ID
  関連項目:
    `Queryのサブクラス`, `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コメント用にメソッド追加。

### setTableModelCommit

    public void setTableModelCommit(java.lang.String flag)

  【TAG】テーブルモデルに対する確定処理を行うかどうかを指定します(初期値:true)。

  パラメータ:
    `flag` - テーブルモデルに対する処理を行うかどうか
  説明:

         PlsqlUpdateタグで、エラーがなかった場合は通常、テーブルモデルの改廃に従って処理が行われます。
         （改廃Dについては削除処理を行い、その他については改廃を元に戻す）

         このパラメータをfalseに指定すると、テーブルモデルに対する処理を行いません。
         これは、例えばPL/SQLでエラーチェックのみを行いたい場合に有効です。
         初期値はtrue(処理を行う）です。

  変更履歴:

    5.5.5.2 (2012/08/10) 新規作成

### toString

    public java.lang.String toString()

  このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

  オーバーライド:
    クラス `QueryTag` 内の `toString`
  戻り値:
    このクラスの文字列表現

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.6.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.