|
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.TableFilterTag
public class TableFilterTag
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) 新規作成 |
フィールドの概要 |
---|
クラス 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に登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。 |
void |
setVals(java.lang.String val)
【TAG】names属性に対応する値をCSV形式で複数指定します。 |
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。 |
クラス 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 TableFilterTag()
メソッドの詳細 |
---|
public int doStartTag()
javax.servlet.jsp.tagext.Tag
内の doStartTag
CommonTagSupport
内の doStartTag
public int doAfterBody()
javax.servlet.jsp.tagext.IterationTag
内の doAfterBody
CommonTagSupport
内の doAfterBody
5.6.5.2 (2013/06/21) bodyローカル化、sql、paramMap 追加 |
public int 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 追加 |
protected void release2()
CommonTagSupport
内の release2
5.6.5.2 (2013/06/21) body廃止、sql、paramMap 追加 |
protected int[] getParameterRows()
CommonTagSupport
内の getParameterRows
public void setClassId(java.lang.String id)
id
- TableFilter インターフェースを継承している実クラスの IDTableFilter インターフェース
ここで指定するクラスIDは、システムリソース にて TableFilter の サブクラス(インターフェース継承)として指定する必要があります。 クラス自身は、org.opengion.hayabusa.db.TableFilter インターフェースを継承している必要があります。 {@og.doc03Link tableFilter TableFilter_**** クラス}
public void setTableId(java.lang.String id)
id
- sessionに登録する時の ID検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])。
public void setSelectedAll(java.lang.String all)
all
- データを全件選択済み [true:全件選択済み/false:通常]全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、指定します。(true/false) デフォルト false です。
public void setModifyType(java.lang.String type)
type
- データ処理の方法(A:追加 C:更新 D:削除)通常は、DBTableModel に自動設定されている modifyType を元に、データ処理方法を 選別します。(A:追加 C:更新 D:削除) この場合、行単位で modifyType の値を取得して判別する必要がありますが、一般には 処理対象は、全件おなじ modifyType である可能性が高いです。 また、selectedAll などで強制的に全件処理対象とする場合は、modifyType に値が 設定さていません。その様な場合に外部より modifyType を指定します。 初期値は、自動判定 です。
public void setKeys(java.lang.String key)
key
- リンク先に渡すキー戻る時に、検索時のキャッシュに指定した引数以外に指定したり、別の値に置き換えたり する場合のキーを設定できます。カンマ区切りで複数指定できます。 vals 属性には、キーに対応する値を、設定してください。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setVals(java.lang.String val)
val
- names属性に対応する値キーに設定した値を、カンマ区切り文字で複数して出来ます。 指定順序は、キーと同じにしておいて下さい。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setDbid(java.lang.String id)
id
- データベース接続IDQueryオブジェクトを作成する時のDB接続IDを指定します。 これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先 情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して データベースにアクセスできます。
public java.lang.String toString()
CommonTagSupport
内の toString
|
openGion 5.7.3.0 | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |