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

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

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

すべての実装されたインタフェース:
  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 TableFilterTag

extends CommonTagSupport

TableFilter のサブクラスをCALLしてDBTableModelにアクセスするタグです。 DBTableModel を TableFilter のサブクラス(classIdで指定)に渡して処理を実行します。 クラスを作成する場合は、org.opengion.hayabusa.db.TableFilter インターフェースを継承した クラスにする必要があります。また、classId 属性には、システムリソース で 設定した TableFilter.XXXX の XXXX を指定します。 BODY部分は、SQLを記述する為だけに使っていましたが、CSS定義形式の書式で、keys,vals を記述 できるようにします。 これは、下記のようなパラメータを、keys="KEY,KEY2,KEY3" vals='AAAA,"BB,CC,DD",EE' のような記述形式と { KEY1 : AAAA ; KEY2 : BB,CC,DD ; KEY3 : EE ; ・・・・・・ } のような、CSS形式に類似の形式でも記述できるようにしました。 keys,vals と CSS定義形式パラメータを同時に指定した場合は、両方とも有効です。 ただし、キーが重複した場合は、不定と考えてください。 現時点では、CSS定義形式パラメータが優先されますが、これは、単に内部パラメータMapへの 登録順が、CSS定義形式パラメータが後の為、上書きされるためです。 ※ このタグは、Transaction タグの対象です。

関連項目:
  直列化された形式
形式サンプル:

       ●形式：<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)
             scope              【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
             dbid               【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します
             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) 新規作成

機能分類
  その他
バージョン
  0.9.0 2000/10/17
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK1.1,

フィールドの概要

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

コンストラクタの概要
`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` | `setTableId(java.lang.String id)` 【TAG】(通常は使いません)DBTableModel sessionに登録されているキーを指定します。
`void` | `setVals(java.lang.String val)` 【TAG】names属性に対応する値をCSV形式で複数指定します。
`java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

クラス 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, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, 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, 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`

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

コンストラクタの詳細

### TableFilterTag

    public TableFilterTag()

メソッドの詳細

### doStartTag

    public int doStartTag()

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

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

### doAfterBody

    public int doAfterBody()

  Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.IterationTag` 内の `doAfterBody`
  オーバーライド:
    クラス `CommonTagSupport` 内の `doAfterBody`
  戻り値:
    後続処理の指示(SKIP_BODY)
  変更履歴:

    5.6.5.2 (2013/06/21) bodyローカル化、sql、paramMap 追加

### doEndTag

    public int doEndTag()

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

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

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

### release2

    protected void release2()

  タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。

  オーバーライド:
    クラス `CommonTagSupport` 内の `release2`
  変更履歴:

    5.6.5.2 (2013/06/21) body廃止、sql、paramMap 追加

### getParameterRows

    protected int[] getParameterRows()

  表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。

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

### setClassId

    public void setClassId(java.lang.String id)

  【TAG】データベース処理を実行するクラスパスを指定します。

  パラメータ:
    `id` - TableFilter インターフェースを継承している実クラスの ID
  関連項目:
    `TableFilter インターフェース`
  説明:

         ここで指定するクラスIDは、システムリソース にて TableFilter の
         サブクラス(インターフェース継承)として指定する必要があります。

         クラス自身は、org.opengion.hayabusa.db.TableFilter インターフェースを継承している必要があります。
         {@og.doc03Link tableFilter TableFilter_**** クラス}

### setTableId

    public void setTableId(java.lang.String id)

  【TAG】(通常は使いません)DBTableModel sessionに登録されているキーを指定します。

  パラメータ:
    `id` - sessionに登録する時の ID
  説明:

         初期値は、HybsSystem.TBL_MDL_KEY です。

  変更履歴:

    3.5.4.3 (2004/01/05) 新規追加

### setSelectedAll

    public void setSelectedAll(java.lang.String all)

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

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

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

### setModifyType

    public void setModifyType(java.lang.String type)

  【TAG】データ処理の方法(A:追加 C:更新 D:削除)を指定します。

  パラメータ:
    `type` - データ処理の方法(A:追加 C:更新 D:削除)
  説明:

         通常は、DBTableModel に自動設定されている modifyType を元に、データ処理方法を
         選別します。(A:追加 C:更新 D:削除)
         この場合、行単位で modifyType の値を取得して判別する必要がありますが、一般には
         処理対象は、全件おなじ modifyType である可能性が高いです。
         また、selectedAll などで強制的に全件処理対象とする場合は、modifyType に値が
         設定さていません。その様な場合に外部より modifyType を指定します。
         初期値は、自動判定 です。

### setKeys

    public void setKeys(java.lang.String key)

  【TAG】リンク先に渡すキーを指定します。

  パラメータ:
    `key` - リンク先に渡すキー
  説明:

         戻る時に、検索時のキャッシュに指定した引数以外に指定したり、別の値に置き換えたり
         する場合のキーを設定できます。カンマ区切りで複数指定できます。
         vals 属性には、キーに対応する値を、設定してください。
         分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
         こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

### setVals

    public void setVals(java.lang.String val)

  【TAG】names属性に対応する値をCSV形式で複数指定します。

  パラメータ:
    `val` - names属性に対応する値
  説明:

         キーに設定した値を、カンマ区切り文字で複数して出来ます。
         指定順序は、キーと同じにしておいて下さい。
         分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
         こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

### setDbid

    public void setDbid(java.lang.String id)

  【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。

  パラメータ:
    `id` - データベース接続ID
  説明:

         Queryオブジェクトを作成する時のDB接続IDを指定します。
         これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先
         情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して
         データベースにアクセスできます。

### toString

    public java.lang.String toString()

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

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

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

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