クラス 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 StringCMD_NEWcommand 引数に渡す事の出来る コマンド 新規 "NEW"static StringCMD_RENEWcommand 引数に渡す事の出来る コマンド 再検索 "RENEW"protected Stringcommandコマンドprotected booleandispError5.9.26.1 (2017/11/10) 実行エラーの際に、エラーを画面に出力するかどうか。protected StringdisplayMsgディスプレイメッセージprotected longdyStart3.5.4.7 (2004/02/06) 実行時間測定用のDIV要素を出力します。protected static StringERR_MSG_IDエラーメッセージID "h_errMsg"protected interrCodeエラーコードprotected ErrorMessageerrMessageエラーメッセージprotected intexecuteCount実行件数protected intmaxRowCount最大行数protected Stringnames名前列protected booleanoutMessageアウトメッセージprotected booleanquotCheckクオートチェックprotected intskipRowCountスキップ行数protected Stringsql検索文protected booleanstopError4.3.3.0 (2008/09/22) PLSQL/SQL実行エラーの際に、処理を中止するかどうか。protected DBTableModeltableテーブルモデルprotected StringtableIdテーブルIDprotected booleanuseSLabelSLABELを利用するかどうかprotected booleanuseTimeViewタイムバーを使用するかどうかprotected booleanxssCheckXSSチェック-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 QueryTag()デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected voidaddPlaceValue(String val)子タグ(andタグ)でプレースホルダーを設定した時に利用するメソッドです。intdoAfterBody()Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。intdoEndTag()Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。intdoStartTag()Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected voidexecute(Query query)Query を実行します。protected String[]getRequest(String... nameArray)名称配列を元に、リクエスト情報のデータを取得します。protected voidrelease2()タグリブオブジェクトをリリースします。voidsetCheckNames(String nm)【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します。voidsetCommand(String cmd)【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY)。voidsetDbid(String id)【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。voidsetDispError(String flag)【TAG】PLSQL/SQL処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。voidsetDisplayMsg(String id)【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。voidsetMainTrans(String flag)【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。voidsetMaxRowCount(String count)【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=])。voidsetModifyType(String type)【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。voidsetNames(String nm)【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します。voidsetNotfoundMsg(String id)【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。voidsetOutMessage(String flag)【TAG】検索結果のメッセージを表示する/しない[true/false]を指定します(初期値:true)。voidsetOverflowMsg(String id)【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。protected voidsetQuery(String type, String query)BODY部の TableUpdateParamTag に書かれたquery文を受け取ります。voidsetQueryType(String id)【TAG】Query を発行する為のクラスID(JDBC,JDBCCallable,JDBCErrMsg,JDBCUpdate,JDBCPrepared)を指定します()。voidsetQuotCheck(String flag)【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])。voidsetSkipRowCount(String count)【TAG】(通常は使いません)データの読み始めの初期値を指定します。voidsetStopError(String flag)【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。voidsetStopZero(String cmd)【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。voidsetTableId(String id)【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。voidsetTrace(String flag)【TAG】引数の SQL 文を EXPLAIN PLAN を[true:行う/それ以外:行わない]を指定します(初期値:false)。voidsetUseBeforeHtmlTag(String useTag)【TAG】 処理時間(queryTime)などの情報出力[true:有効/false:無効]を指定します(初期値:true)。voidsetUseSLabel(String prm)【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。voidsetUseTimeView(String flag)【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。voidsetXssCheck(String flag)【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=])。StringtoString()このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド 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- 戻り値:
- このクラスの文字列表現
-
-