org.opengion.hayabusa.taglib
クラス TableExistTag
java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.TableExistTag
- すべての実装されたインタフェース:
- Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally
public class TableExistTag
- extends CommonTagSupport
【廃止】登録すべきデータのマスタ存在チェックを行うためのタグです(通常はentry.jspでupdateタグの直前で使用します)。
この要素の内容に、SQL文を記述します。
names に対応するカラム名を、カンマ区切りで複数与えます。その値を、DBTableModel
より、取得し、先のSQL文の ? に値を設定します。
または、引数部に、[カラム名]を用いたHybs拡張SQL文を指定することも可能です。
値の取得は、先に選択された行のみについて、実行されます。
exist 属性に指定された 、「true:存在する」、「false:存在しない」、「one:ひとつ以下」、
の値は、チェック方法を設定しています。
いずれの場合も、成立時は、正常とみなします。
(「true:存在する」 には、データが存在した場合に、OKで、なければエラーです。)
- 関連項目:
- 直列化された形式
- 機能階層
- DB登録
- 形式サンプル:
●形式:
・<og:tableExist
command = "{@command}"
names = "[…]"
from = "…" 必須
where = "…" 必須
exist = "[auto|true|false|one|notuse]" 必須
errRemove = "[true|false]"
/>
●body:なし
●使用例
・<og:tableExist
command = "{@command}"
names = "USERID,SYSTEM_ID"
from = "GE10"
where = "USERID=? AND SYSTEM_ID=?"
exist = "true" />
・where 条件の ? 文字に、names で指定したカラム名の値が、DBTableModelより
取得されます。
値の取得は、先に選択された行のみについて、実行されます。
・exist 属性の値に応じて、チェック方法が異なります。
auto , true , false , one , notuse が指定できます。
・テーブルは、1つのみ指定できます。複数指定や、UNIONで結合する場合は、
ビュー等を作成して対応してください。
・<og:tableExist
command = "{@command}"
from = "GE10"
where = "USERID=[USERID] AND SYSTEM_ID=[SYSTEM_ID]" />
・where 条件の [カラム名] 文字に、DBTableModelより値がセットされます。
・exist は、初期値(auto)になります。内部のA,C,Dに応じて自動判別します。
- 変更履歴:
3.5.0.0 (2003/09/17) 新規作成 |
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
メソッドの概要 |
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 |
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。 |
protected void |
release2()
タグリブオブジェクトをリリースします。 |
void |
setCommand(String cmd)
【TAG】コマンド(ENTRY)をセットします。 |
void |
setDbid(String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。 |
void |
setErrRemove(String flag)
【TAG】エラー時の選択行を取り除いて継続処理を行うかどうかを指定します(初期値:false)。 |
void |
setExist(String ext)
【TAG】データベースのチェック方法(auto/true/false/one/notuse)を指定します(初期値:「auto:自動」)。 |
void |
setFrom(String fm)
【TAG】チェックするデータベース名(from 句)を指定します。 |
void |
setNames(String nm)
【TAG】引数にセットすべき データの名称(カラム名)をCSV形式で複数指定します。 |
void |
setTableId(String id)
【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します。 |
void |
setWhere(String wr)
【TAG】チェックする検索条件(where句)を指定します。 |
String |
toString()
このオブジェクトの文字列表現を返します。 |
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド |
add, add, addEventColumnSQL, check, check, commitTableObject, debugPrint, doAfterBody, 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, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getResource, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionRequest, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useQuotCheck, useXssCheck |
CMD_ENTRY
public static final String CMD_ENTRY
- command 引数に渡す事の出来る コマンド エントリー "ENTRY"
- 関連項目:
- 定数フィールド値
TableExistTag
public TableExistTag()
doStartTag
public int doStartTag()
- Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
- 定義:
- インタフェース
Tag
内の doStartTag
- オーバーライド:
- クラス
CommonTagSupport
内の doStartTag
- 戻り値:
- int
- 変更履歴:
3.7.1.0 (2005/04/15) notuse 値を追加 |
doEndTag
public int doEndTag()
- Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
- 定義:
- インタフェース
Tag
内の doEndTag
- オーバーライド:
- クラス
CommonTagSupport
内の doEndTag
- 戻り値:
- int
- 変更履歴:
3.5.4.2 (2003/12/15) HTMLTableViewForm クラス名変更(⇒ ViewForm_HTMLTable) |
3.5.4.4 (2004/01/16) エラー結果を表示するテーブル形式のフォーム修正 |
3.5.5.2 (2004/04/02) TaglibUtil.makeHTMLErrorTable メソッドを利用 |
release2
protected void release2()
- タグリブオブジェクトをリリースします。
キャッシュされて再利用されるので、フィールドの初期設定を行います。
- オーバーライド:
- クラス
CommonTagSupport
内の release2
- 変更履歴:
4.0.0.0 (2007/10/10) dbid の初期値を、"DEFAULT" から null に変更 |
setTableId
public void setTableId(String id)
- 【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します。
- パラメータ:
id
- sessionに登録する時の ID- TagLib:
初期値は、HybsSystem.TBL_MDL_KEY です。 |
setDbid
public void setDbid(String id)
- 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
- パラメータ:
id
- データベース接続ID- TagLib:
Queryオブジェクトを作成する時のDB接続IDを指定します。 |
setCommand
public void setCommand(String cmd)
- 【TAG】コマンド(ENTRY)をセットします。
- パラメータ:
cmd
- コマンド(public static final 宣言されている文字列)- 関連項目:
- コマンド定数
- TagLib:
コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される
フィールド定数値のいづれかを、指定できます。 |
setNames
public void setNames(String nm)
- 【TAG】引数にセットすべき データの名称(カラム名)をCSV形式で複数指定します。
- パラメータ:
nm
- 引数の名称(複数ある場合は、カンマ区切り文字)- TagLib:
複数ある場合は、カンマ区切り文字で渡します。
引数をnames ではなく、[カラム名]形式で直接指定するほうが、SQL文が判りやすくなります。 |
setFrom
public void setFrom(String fm)
- 【TAG】チェックするデータベース名(from 句)を指定します。
- パラメータ:
fm
- データベースID- TagLib:
setWhere
public void setWhere(String wr)
- 【TAG】チェックする検索条件(where句)を指定します。
- パラメータ:
wr
- 検索条件(where句)- TagLib:
where 区 に指定する検索条件です。? の部分に、names 属性で指定した
カラムのデータが、DBTableModelより取り出されて適用されます。
または、[カラム名]形式で、直接指定することもできます。その場合は、
name 属性は指定する必要がありません。
[カラム名]の前後に、(')シングルコーテーションは、不要です。 |
setExist
public void setExist(String ext)
- 【TAG】データベースのチェック方法(auto/true/false/one/notuse)を指定します(初期値:「auto:自動」)。
- パラメータ:
ext
- チェック方法(「auto:自動」、「true:存在する」、「false:存在しない」、「one:ひとつ以下」、「notuse:チェックしない」)- TagLib:
exist 属性に指定された 、「true:存在する」、「false:存在しない」、「one:ひとつ以下」、
の値は、いずれの場合も、成立時は、正常とみなします。
「auto:自動」は、DBTableModeleのmodifyType(A,C,D)に応じて、チェックします。
A,C,D は、entryタグにコマンドを渡してデータを作成したときに、内部で作成されます。
notuse は、チェックを行いません。これは、このタグを共有使用する場合に、外部で
チェックを行うかどうかを指定できるようにするために使用します。
(「true:存在する」 には、データが存在した場合に、OKで、なければエラーです。)
初期値は、「auto:自動」です。 |
setErrRemove
public void setErrRemove(String flag)
- 【TAG】エラー時の選択行を取り除いて継続処理を行うかどうかを指定します(初期値:false)。
- パラメータ:
flag
- エラー時の継続処理(true:エラー行番号を取り除き継続処理/false:エラー時停止)- TagLib:
exist 属性に指定された 、「true:存在する」、「false:存在しない」、「one:ひとつ以下」、
に対して、エラーが発生した選択行番号を、取り除いて以下の処理を継続するかどうかを
指定します。
true に設定した場合は、エラーデータを削除し、継続処理を行うことができます。
flase の場合は、エラーデータを表示して、継続処理を停止します。
初期値は、「false:エラー時停止」です。 |
toString
public String toString()
- このオブジェクトの文字列表現を返します。
基本的にデバッグ目的に使用します。
- オーバーライド:
- クラス
CommonTagSupport
内の toString
- 戻り値:
- このクラスの文字列表現
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.