クラス QueryTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.QueryTag
-
- すべての実装されたインタフェース:
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
- 直系の既知のサブクラス:
EntryQueryTag
,FileQueryTag
,GuiQueryTag
,PlsqlUpdateTag
,TableUpdateTag
public class QueryTag extends CommonTagSupport
データベースの検索を行うタグです。 このタグの内容に、SQL文を記述します。 whereタグ、 andタグ を使うと引数に応じて 実行されるSQL文が異なります(使用例参照)。 また、PL/SQLのSPで検索を行うときもこのタグを使います。 SystemData の USE_SQL_INJECTION_CHECK が true か、quotCheck 属性が true の場合は、 SQLインジェクション対策用のシングルクォートチェックを行います。リクエスト引数に シングルクォート(')が含まれると、エラーになります。 同様にUSE_XSS_CHECKがtrueか、xssCheck属性がtrueの場合は、 クロスサイトススクリプティング(XSS)対策のためless/greater than signのチェックを行います。 実行後にリクエストパラメータに以下の値がセットされます。 DB.COUNT : 検索結果の件数 DB.ERR_CODE : 検索結果のエラーコード DB.IS_UPDATE : 更新(=true)/検索(false) ※ このタグは、Transaction タグの対象です。- 関連項目:
- 直列化された形式
- 導入されたバージョン:
- JDK5.0,
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static String
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"static String
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"protected String
command
コマンドprotected boolean
dispError
5.9.26.1 (2017/11/10) 実行エラーの際に、エラーを画面に出力するかどうか。protected String
displayMsg
ディスプレイメッセージprotected long
dyStart
3.5.4.7 (2004/02/06) 実行時間測定用のDIV要素を出力します。protected static String
ERR_MSG_ID
エラーメッセージID "h_errMsg"protected int
errCode
エラーコードprotected ErrorMessage
errMessage
エラーメッセージprotected int
executeCount
実行件数protected int
maxRowCount
最大行数protected String
names
名前列protected boolean
outMessage
アウトメッセージprotected boolean
quotCheck
クオートチェックprotected int
skipRowCount
スキップ行数protected String
sql
検索文protected boolean
stopError
4.3.3.0 (2008/09/22) PLSQL/SQL実行エラーの際に、処理を中止するかどうか。protected DBTableModel
table
テーブルモデルprotected String
tableId
テーブルIDprotected boolean
useSLabel
SLABELを利用するかどうかprotected boolean
useTimeView
タイムバーを使用するかどうかprotected boolean
xssCheck
XSSチェック-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 QueryTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected void
addPlaceValue(String val)
子タグ(andタグ)でプレースホルダーを設定した時に利用するメソッドです。int
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
execute(Query query)
Query を実行します。protected String[]
getRequest(String... nameArray)
名称配列を元に、リクエスト情報のデータを取得します。protected void
release2()
タグリブオブジェクトをリリースします。void
setCheckNames(String nm)
【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します。void
setCommand(String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY)。void
setDbid(String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。void
setDispError(String flag)
【TAG】PLSQL/SQL処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。void
setDisplayMsg(String id)
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。void
setMainTrans(String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。void
setMaxRowCount(String count)
【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=])。void
setModifyType(String type)
【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。void
setNames(String nm)
【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します。void
setNotfoundMsg(String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。void
setOutMessage(String flag)
【TAG】検索結果のメッセージを表示する/しない[true/false]を指定します(初期値:true)。void
setOverflowMsg(String id)
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。protected void
setQuery(String type, String query)
BODY部の TableUpdateParamTag に書かれたquery文を受け取ります。void
setQueryType(String id)
【TAG】Query を発行する為のクラスID(JDBC,JDBCCallable,JDBCErrMsg,JDBCUpdate,JDBCPrepared)を指定します()。void
setQuotCheck(String flag)
【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])。void
setSkipRowCount(String count)
【TAG】(通常は使いません)データの読み始めの初期値を指定します。void
setStopError(String flag)
【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。void
setStopZero(String cmd)
【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。void
setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setTrace(String flag)
【TAG】引数の SQL 文を EXPLAIN PLAN を[true:行う/それ以外:行わない]を指定します(初期値:false)。void
setUseBeforeHtmlTag(String useTag)
【TAG】 処理時間(queryTime)などの情報出力[true:有効/false:無効]を指定します(初期値:true)。void
setUseSLabel(String prm)
【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。void
setUseTimeView(String flag)
【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。void
setXssCheck(String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=])。String
toString()
このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, 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
-
-
-
-
フィールドの詳細
-
ERR_MSG_ID
protected static final String ERR_MSG_ID
エラーメッセージID "h_errMsg"- 関連項目:
- 定数フィールド値
-
table
protected transient DBTableModel table
テーブルモデル
-
errMessage
protected transient ErrorMessage errMessage
エラーメッセージ
-
skipRowCount
protected int skipRowCount
スキップ行数
-
maxRowCount
protected int maxRowCount
最大行数
-
executeCount
protected int executeCount
実行件数
-
outMessage
protected boolean outMessage
アウトメッセージ
-
errCode
protected int errCode
エラーコード
-
displayMsg
protected String displayMsg
ディスプレイメッセージ
-
dyStart
protected long dyStart
3.5.4.7 (2004/02/06) 実行時間測定用のDIV要素を出力します。
-
useTimeView
protected boolean useTimeView
タイムバーを使用するかどうか
-
stopError
protected boolean stopError
4.3.3.0 (2008/09/22) PLSQL/SQL実行エラーの際に、処理を中止するかどうか。
-
dispError
protected boolean dispError
5.9.26.1 (2017/11/10) 実行エラーの際に、エラーを画面に出力するかどうか。
-
quotCheck
protected boolean quotCheck
クオートチェック
-
xssCheck
protected boolean xssCheck
XSSチェック
-
useSLabel
protected boolean useSLabel
SLABELを利用するかどうか
-
-
コンストラクタの詳細
-
QueryTag
public QueryTag()
デフォルトコンストラクター
-
-
メソッドの詳細
-
doStartTag
public int doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内javax.servlet.jsp.tagext.Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
-
doAfterBody
public int doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。- 定義:
doAfterBody
インタフェース内javax.servlet.jsp.tagext.IterationTag
- オーバーライド:
doAfterBody
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示(SKIP_BODY)
-
doEndTag
public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内javax.servlet.jsp.tagext.Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
-
release2
protected void release2()
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
-
setQuery
protected void setQuery(String type, String query)
BODY部の TableUpdateParamTag に書かれたquery文を受け取ります。 typeには、UPDATEかINSERTが指定され、それに応じたqueryを各変数にセットします。- パラメータ:
type
- Queryタイプ(UPDATE,INSERT,その他)query
- SQL文
-
getRequest
protected String[] getRequest(String... nameArray)
名称配列を元に、リクエスト情報のデータを取得します。 checkNames 属性に設定されているカラムがあれば、値を正規化します。- パラメータ:
nameArray
- キーとなる名称の配列- 戻り値:
- そのリクエスト情報の配列(可変長引数)
-
addPlaceValue
protected void addPlaceValue(String val)
子タグ(andタグ)でプレースホルダーを設定した時に利用するメソッドです。 queryタグ内部のプレースホルダリストに追加します。- パラメータ:
val
- 追加分
-
setSkipRowCount
public void setSkipRowCount(String count)
【TAG】(通常は使いません)データの読み始めの初期値を指定します。- パラメータ:
count
- 読み始めの初期値
-
setMaxRowCount
public void setMaxRowCount(String count)
【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=])。- パラメータ:
count
- 最大件数- 関連項目:
SystemData.DB_MAX_ROW_COUNT
-
setTableId
public void setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- テーブルID (sessionに登録する時のID)
-
setQueryType
public void setQueryType(String id)
【TAG】Query を発行する為のクラスID(JDBC,JDBCCallable,JDBCErrMsg,JDBCUpdate,JDBCPrepared)を指定します()。- パラメータ:
id
- Query実クラス- 関連項目:
Queryのサブクラス
,Query.execute( String[] )
-
setDbid
public void setDbid(String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。- パラメータ:
id
- データベース接続ID
-
setCommand
public void setCommand(String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY)。- パラメータ:
cmd
- コマンド (public static final 宣言されている文字列)- 関連項目:
- コマンド定数
-
setStopZero
public void setStopZero(String cmd)
【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。- パラメータ:
cmd
- 0件時停止可否 [true:処理を中止する/false:続行する]
-
setDisplayMsg
public void setDisplayMsg(String id)
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。- パラメータ:
id
- 表示メッセージID- 関連項目:
SystemData.VIEW_DISPLAY_MSG
-
setOverflowMsg
public void setOverflowMsg(String id)
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。- パラメータ:
id
- オーバー時メッセージID
-
setNotfoundMsg
public void setNotfoundMsg(String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。- パラメータ:
id
- ゼロ件メッセージID
-
setNames
public void setNames(String nm)
【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します。- パラメータ:
nm
- 引数の名称 (CSV形式)
-
setOutMessage
public void setOutMessage(String flag)
【TAG】検索結果のメッセージを表示する/しない[true/false]を指定します(初期値:true)。- パラメータ:
flag
- 検索結果メッセージ [true:表示する/それ以外:含めない]
-
setTrace
public void setTrace(String flag)
【TAG】引数の SQL 文を EXPLAIN PLAN を[true:行う/それ以外:行わない]を指定します(初期値:false)。- パラメータ:
flag
- トレース [true:行う/それ以外:行わない]
-
setCheckNames
public void setCheckNames(String nm)
【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します。- パラメータ:
nm
- 正規化処理カラム (CSV形式)
-
setModifyType
public void setModifyType(String type)
【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。- パラメータ:
type
- Dモディファイタイプ [A:追加/C:更新/D:削除]
-
setQuotCheck
public void setQuotCheck(String flag)
【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])。- パラメータ:
flag
- クォートチェック [true:する/それ以外:しない]
-
setXssCheck
public void setXssCheck(String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=])。- パラメータ:
flag
- XSSチェック [true:する/false:しない]- 関連項目:
SystemData.USE_XSS_CHECK
-
setStopError
public void setStopError(String flag)
【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。- パラメータ:
flag
- エラー時処理中止 [true:中止する/false:中止しない]
-
setDispError
public void setDispError(String flag)
【TAG】PLSQL/SQL処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。- パラメータ:
flag
- [true:表示する/false:表示しない]
-
setMainTrans
public void setMainTrans(String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。- パラメータ:
flag
- メイントランザクションかどうか [true:メイン/false:その他]
-
setUseBeforeHtmlTag
public void setUseBeforeHtmlTag(String useTag)
【TAG】 処理時間(queryTime)などの情報出力[true:有効/false:無効]を指定します(初期値:true)。- パラメータ:
useTag
- 情報出力の有効/無効 [true:有効/false:無効]
-
setUseTimeView
public void setUseTimeView(String flag)
【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。- パラメータ:
flag
- 処理時間を表示 [true:する/false:しない]
-
setUseSLabel
public void setUseSLabel(String prm)
【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
prm
- SLABEL利用 [true:利用する/false:利用しない]
-
toString
public String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
-
-