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 タグの対象です。
●形式: ・<og:query command="NEW" > SELECT文 </og:query> ・<og:query command="NEW" names="・・・" queryType="JDBCErrMsg" > { call PL/SQL(?,?,?,? ) } </og:query> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:query queryType 【TAG】Query を発行する為のクラスID(JDBC,JDBCCallable,JDBCErrMsg,JDBCUpdate)を指定します<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.9.0.0&VALUENAME=queryType" target="CONTENTS">初期値:JDBC</a>) command 【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY) scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) maxRowCount 【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限]) skipRowCount 【TAG】(通常は使いません)データの読み始めの初期値を指定します displayMsg 【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=]) overflowMsg 【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]) notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) names 【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します stopZero 【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する]) tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します trace 【TAG】引数の SQL 文を EXPLAIN PLAN を[true:行う/それ以外:行わない]を指定します(初期値:false) checkNames 【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します modifyType 【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除] stopError 【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true) dispError 【TAG】エラー時にメッセージを表示するか[true/false]を設定します。通常はstopErrorと併用(初期値:true) quotCheck 【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します(初期値:USE_SQL_INJECTION_CHECK) xssCheck 【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=true]) mainTrans 【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true) useBeforeHtmlTag 【TAG】処理時間(queryTime)などの情報出力[true:有効/false:無効]を指定します(初期値:true) useTimeView 【TAG】処理時間を表示する TimeView を表示するかどうかを指定します (初期値:VIEW_USE_TIMEBAR[=true])。 caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:query> ●使用例 <og:query command="NEW"> select PN,YOBI,NMEN,HINM from XX01 where PN = '{@PN}' order by PN </og:query> ・検索条件が入力された時({@PN}がNOT NULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where PN = 'AAA' order by PN ・検索条件が入力されなかった時({@PN}がNULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where PN = '' order by PN <og:query command="NEW"> select PN,YOBI,NMEN,HINM from XX01 <og:where> <og:and value="PN = '{@PN}%'" /> <og:and value="YOBI like '{@YOBI}%'" /> </og:where> order by PN </og:query> ・検索条件が入力された時({@PN}がNOT NULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 PN = 'AAA%' and YOBI like 'BBB%' order by PN ・検索条件が入力されなかった時({@PN}がNULLのとき) WHERE句がなくなる。 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 order by PN 注意:WhereTagを使った場合、下のようにはなりません。 select PN,YOBI,NMEN,HINM from XX01 PN = '' and YOBI like '%' order by PN <og:query command="NEW"> select PN,YOBI,NMEN,HINM from XX01 where PN="11111" <og:where startKey="and"> <og:and value="YOBI like '{@PN}%'" /> </og:where> order by PN </og:query> ・検索条件が入力された時({@YOBI}がNOT NULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 PN = '11111' and YOBI like 'BBB%' order by PN ・検索条件が入力されなかった時({@YOBI}がNULLのとき) WHERE句がなくなる。 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 PN = '11111' order by PN <og:query command = "NEW" names = "SYSTEM_ID,LANG,CLM,NAME_JA,LABEL_NAME,KBSAKU,USER.ID" checkNames = "CLM,NAME_JA" queryType = "JDBCErrMsg" displayMsg = ""> {call TYPE3B01.TYPE3B01(?,?,?,?)} </og:query> ・queryType に JDBCErrMsg を指定して、PL/SQL をコールできます。 引数は、names 属性をキーにリクエスト変数から読み込みます。 ・checkNames にカラム名を指定すると、columns.valueSet による リクエスト変数の正規化を行います。
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"
|
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
protected java.lang.String |
command |
protected boolean |
dispError |
protected java.lang.String |
displayMsg |
protected long |
dyStart |
protected static java.lang.String |
ERR_MSG_ID
エラーメッセージID "h_errMsg"
|
protected int |
errCode |
protected ErrorMessage |
errMessage |
protected int |
executeCount |
protected int |
maxRowCount |
protected java.lang.String |
names |
protected boolean |
outMessage |
protected boolean |
quotCheck |
protected int |
skipRowCount |
protected java.lang.String |
sql |
protected boolean |
stopError |
protected DBTableModel |
table |
protected java.lang.String |
tableId |
protected boolean |
useTimeView |
protected boolean |
xssCheck |
BR, BUFFER_MIDDLE, CR
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
QueryTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
execute(Query query)
Query を実行します。
|
protected java.lang.String[] |
getRequest(java.lang.String[] nameArray)
名称配列を元に、リクエスト情報のデータを取得します。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCheckNames(java.lang.String nm)
【TAG】リクエスト変数の正規化を行うカラムをCSV形式で複数指定します。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY)。
|
void |
setDbid(java.lang.String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
|
void |
setDispError(java.lang.String flag)
【TAG】PLSQL/SQL処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。
|
void |
setDisplayMsg(java.lang.String id)
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します
(初期値:VIEW_DISPLAY_MSG[=])。
|
void |
setMainTrans(java.lang.String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。
|
void |
setMaxRowCount(java.lang.String count)
【TAG】(通常は使いません)データの最大読み込み件数を指定します
(初期値:DB_MAX_ROW_COUNT[=1000])。
|
void |
setModifyType(java.lang.String type)
【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。
|
void |
setNames(java.lang.String nm)
【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します。
|
void |
setNotfoundMsg(java.lang.String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
|
void |
setOutMessage(java.lang.String flag)
【TAG】検索結果のメッセージを表示する/しない[true/false]を指定します(初期値:true)。
|
void |
setOverflowMsg(java.lang.String id)
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します
(初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。
|
void |
setQueryType(java.lang.String id)
【TAG】Query を発行する為のクラスID(JDBC,JDBCCallable,JDBCErrMsg,JDBCUpdate)を指定します(<a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.9.0.0&VALUENAME=queryType" target="CONTENTS">初期値:JDBC</a>)。
|
void |
setQuotCheck(java.lang.String flag)
【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_SQL_INJECTION_CHECK[=true])。
|
void |
setSkipRowCount(java.lang.String count)
【TAG】(通常は使いません)データの読み始めの初期値を指定します。
|
void |
setStopError(java.lang.String flag)
【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。
|
void |
setStopZero(java.lang.String cmd)
【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setTrace(java.lang.String flag)
【TAG】引数の SQL 文を EXPLAIN PLAN を[true:行う/それ以外:行わない]を指定します(初期値:false)。
|
void |
setUseBeforeHtmlTag(java.lang.String useTag)
【TAG】 処理時間(queryTime)などの情報出力[true:有効/false:無効]を指定します(初期値:true)。
|
void |
setUseTimeView(java.lang.String flag)
【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します
(初期値:VIEW_USE_TIMEBAR[=true])。
|
void |
setXssCheck(java.lang.String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_XSS_CHECK[=true])。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getCommonTagThrowable, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
protected static final java.lang.String ERR_MSG_ID
protected transient DBTableModel table
protected transient ErrorMessage errMessage
protected java.lang.String tableId
protected java.lang.String command
protected int skipRowCount
protected int maxRowCount
protected java.lang.String sql
protected int executeCount
protected java.lang.String names
protected boolean outMessage
protected int errCode
protected java.lang.String displayMsg
protected long dyStart
protected boolean useTimeView
protected boolean stopError
protected boolean dispError
protected boolean quotCheck
protected boolean xssCheck
public QueryTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 CommonTagSupport
3.5.4.7 (2004/02/06) 実行時間測定用に、開始時刻を取得します。 |
3.5.6.5 (2004/08/09) 暫定的に、DBTableModelを先行削除します。 |
3.6.0.0 (2004/09/24) DBTableModel の先行削除は、scope="session" の場合のみ。 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 |
6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 |
6.4.8.1 (2016/07/02) xssCheckを、doStartTag に移動 |
public int doAfterBody()
doAfterBody
インタフェース内 IterationTag
doAfterBody
クラス内 CommonTagSupport
3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。 |
3.6.0.8 (2004/11/19) エラー発生時に確実にリリースされるように try finally 追加 |
3.8.5.3 (2006/08/07) USER.LASTSQL へのSQL文の保存は、実行前に行っておきます。 |
3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。 |
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 |
4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更 |
4.0.0.0 (2005/08/31) useQuotCheck() によるSQLインジェクション対策 |
4.3.4.0 (2008/12/01) GE20(ユーザー定数)へ登録するかのフラグへの対応 |
5.0.0.2 (2009/09/15) XSS対応 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
5.1.9.0 (2010/08/01) TransactionTag 対応。上位に TransactionTag があれば、そこからConnection をもらう。 |
5.3.6.0 (2011/06/01) 集計、合計などのEdit機能に対応します。 |
5.3.7.0 (2011/07/01) TransactionReal の引数変更 |
5.3.7.0 (2011/07/01) PL/SQLかつscope="request"で正しく出力するためqueryType,namesも保存する。 |
5.3.8.0 (2011/08/01) Transaction発生箇所でclose() |
5.5.3.4 (2012/06/19) trace 時は、実際の検索処理を行わない様に変更。 |
5.6.5.3 (2013/06/28) LASTQUERYTYPE ⇒ LASTSQLTYPE 変更。 |
6.3.1.1 (2015/07/10) BodyString,BodyRawStringは、CommonTagSupport で、trim() します。 |
6.3.6.1 (2015/08/28) Transaction でAutoCloseableを使用したtry-with-resources構築に対応。 |
6.3.6.1 (2015/08/28) QueryFactory.close( Query ) 廃止。Queryはキャッシュしません。 |
6.4.0.2 (2015/12/11) Transaction の commit は、errCode で判定します。 |
6.4.8.1 (2016/07/02) xssCheckを、doStartTag に移動 |
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
2.0.0.8 (2002/10/09) command="NEW" のときのみ、displayMsg を表示させます。 |
2.1.1.4 (2002/11/25) デバッグ時に最終SQLをユーザー情報をセットするように変更。 |
2.1.2.1 (2002/11/27) ErrorMessage をクリアしないように変更。 |
3.1.1.0 (2003/03/28) JspWriter オブジェクトの使用箇所を、jspPrint() を使用するように変更。 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.2.1.0 (2003/05/28) 最終SQL文を、UserInfo に、キャッシュしておく。 |
3.3.3.3 (2003/08/06) 検索結果の件数を、"DB.COUNT" キーでリクエストにセットする。 |
3.3.3.3 (2003/08/06) 検索結果を、"DB.ERR_CODE" キーでリクエストにセットする。 |
3.5.4.7 (2004/02/06) 実行時間測定用のDIV要素を出力しておきます。 |
3.5.4.9 (2004/02/25) 警告時に停止していましたが、継続処理させます。 |
3.5.5.0 (2004/03/12) ErrorMessage オブジェクトを、query が成功した時にもクリアするように変更 |
3.5.5.2 (2004/04/02) TaglibUtil.makeHTMLErrorTable メソッドを利用 |
3.5.5.8 (2004/05/20) ErrorMessage オブジェクトを、コマンドが NEW の場合のみ、クリア |
3.5.6.0 (2004/06/18) debugMsg 属性を出力するように修正します。 |
3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。 |
3.8.5.3 (2006/08/07) USER.LASTSQL へのSQL文の保存は、実行前に行っておきます。 |
4.0.0.0 (2006/11/14) notfoundMsg 属性を追加。displayMsg は、VIEW_USE_DISPLAY_MSG で制御 |
4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel ) |
4.3.3.0 (2008/09/22) 属性 stopError の設定により、JSP処理を中止するかどうかを制御します。 |
5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 |
5.3.5.0 (2011/05/01) 処理時間(queryTime)などの情報出力の有効/無効を指定します。 |
5.5.0.3 (2012/03/13) オーバーフローメッセージが存在しないときは、何もしない。(改行も入れない) |
5.5.3.4 (2012/06/19) trace 時は、実際の検索処理を行わない様に変更。 |
5.6.3.0 (2013/04/01) エラー時メッセージ変更 |
6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 |
5.9.16.1 (2017/11/10) dispErrorの動作追加 |
protected void release2()
release2
クラス内 CommonTagSupport
2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.5.4.7 (2004/02/06) 実行時間測定用に、dyStart を追加します。 |
3.5.6.0 (2004/06/18) debugMsg 属性を追加します。 |
3.8.0.5 (2005/08/20) checkNames 属性を追加します。 |
3.8.5.1 (2006/05/08) modifyType 属性を追加します。 |
3.8.5.1 (2006/05/08) traceMsg 属性(トレース時のメッセージ文字列)を追加します。 |
4.0.0.0 (2005/08/31) quotCheck 属性の追加 |
4.0.0.0 (2007/10/10) dbid の初期値を、"DEFAULT" から null に変更 |
4.3.3.0 (2008/09/22) stopError 属性の追加 |
5.0.0.2 (2009/09/15) XSS対応 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
5.3.5.0 (2011/05/01) 処理時間(queryTime)などの情報出力の有効/無効を指定します。 |
6.3.6.1 (2015/08/28) 検索か更新か判定するフラグ(updateFlag)を用意します。 |
5.9.26.1 (2017/11/10) dispError追加 |
protected void execute(Query query)
query
- オブジェクト2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更 |
3.4.0.0 (2003/09/01) 登録エラー時のキーと値を表示するように変更。 |
3.5.6.0 (2004/06/18) デバッグ情報出力用に、printDebug メソッドを追加。 |
3.6.1.0 (2005/01/05) エラーコードによる commit/rollback の判断追加 |
5.3.7.0 (2011/07/01) nameの判定にゼロ文字列を付加 |
6.2.1.0 (2015/03/13) エラーメッセージに SQL文を追加します。 |
6.3.6.1 (2015/08/28) 検索か更新か判定するフラグ(updateFlag)を用意します。 |
6.4.2.0 (2016/01/29) HybsSystemException を catch して、再び、throw する処理を廃止します。 |
protected java.lang.String[] getRequest(java.lang.String[] nameArray)
nameArray
- キーとなる名称の配列3.8.0.5 (2005/08/20) リクエスト変数の正規化(checkNames)対応 |
public void setSkipRowCount(java.lang.String count)
count
- 読み始めの初期値データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとしては、スキップ件数分は登録されません。 サーバーのメモリ資源と応答時間の確保の為です。
public void setMaxRowCount(java.lang.String count)
count
- 最大件数SystemData.DB_MAX_ROW_COUNT
データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 をセットすると、無制限(Integer.MAX_VALUE)になります。 (初期値:ユーザー定数のDB_MAX_ROW_COUNT[=1000])。
5.5.8.5 (2012/11/27) 0を無制限として処理します。 |
public void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
public void setQueryType(java.lang.String id)
id
- Query実クラスQueryのサブクラス
,
Query.execute( String[] )
検索を実行する手段は、Query インターフェースの実装クラスになります。 このタグでは、Query.execute( String[] ) メソッドが呼ばれます。 例えば、ストアドプロシージャ等を実行する場合に、queryType="JDBCErrMsg" を指定することができます。 初期値は、"JDBC" です。 queryType は、システムリソースの Query_**** 宣言の **** を与えます。 これらは、Query インターフェースを継承したサブクラスである必要があります。 標準で、org.opengion.hayabusa.db 以下の Query_**** クラスが、Query_**** 宣言 と して、定義されています。 属性クラス定義の Query を参照願います。 <a href="/gf/jsp/DOC03/index.jsp?command=NEW&GAMENID=DOC03&VERNO=6.9.0.0&VALUENAME=queryType" target="CONTENTS">Query_**** クラス</a>
public void setDbid(java.lang.String id)
id
- データベース接続IDQueryオブジェクトを作成する時のDB接続IDを指定します。 これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先 情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して データベースにアクセスできます。
public void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。
public void setStopZero(java.lang.String cmd)
cmd
- 0件時停止可否 [true:処理を中止する/false:続行する]初期値は、false(続行する)です。
public void setDisplayMsg(java.lang.String id)
id
- 表示メッセージIDSystemData.VIEW_DISPLAY_MSG
ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は, displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
public void setOverflowMsg(java.lang.String id)
id
- オーバー時メッセージID検索結果が、maxRowCount で設定された値より多い場合、何らかのデータは検索されず 切り捨てられたことになります。 ここでは、displayMsg を表示した後、必要に応じて、このメッセージを表示します。 表示させたくない場合は, overflowMsg = "" をセットしてください。 初期値は、MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]です。
public void setNotfoundMsg(java.lang.String id)
id
- ゼロ件メッセージIDここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
public void setNames(java.lang.String nm)
nm
- 引数の名称 (CSV形式)複数ある場合は、CSV形式で渡します。 names 属性は、queryType に応じて設定可否が異なりますので、ご注意ください。 names なし:JDBC,JDBCUpdate names あり:JDBCCallable,JDBCErrMsg,JDBCUpdate (JDBCUpdateは、names 属性のあり/なし両方に対応しています。)
3.0.1.3 (2003/03/11) names 属性に null で渡す場合のバグを修正 |
public void setOutMessage(java.lang.String flag)
flag
- 検索結果メッセージ [true:表示する/それ以外:含めない]初期値は、表示する:true です。
public void setTrace(java.lang.String flag)
flag
- トレース [true:行う/それ以外:行わない]ここでは、以下の処理を行います。 1.引数の SQL 文を画面に表示します。 2.引数の SQL 文を EXPLAIN PLAN した結果を、画面に表示します。 なお、以前は、セッションのトレースを行っていましたが、その機能は、廃止いたします。 初期値は、行わない:false です。
public void setCheckNames(java.lang.String nm)
nm
- 正規化処理カラム (CSV形式)PL/SQLを利用する場合の引数にセットすべき データを、リクエスト変数の 値そのままではなく、カラムオブジェクトの valueSet メソッド経由で正規化 した値を使用するようにします。
3.8.0.5 (2005/08/20) 新規追加 |
public void setModifyType(java.lang.String type)
type
- Dモディファイタイプ [A:追加/C:更新/D:削除]DB検索時に、そのデータをA(追加)、C(更新)、D(削除)のモディファイタイプを つけた状態にします。 その状態で、そのまま、update する事が可能になります。
3.8.5.1 (2006/05/08) 新規追加 |
public void setQuotCheck(java.lang.String flag)
flag
- クォートチェック [true:する/それ以外:しない]SQLインジェクション対策の一つとして、暫定的ではありますが、SQLのパラメータに 渡す文字列にシングルクォート(') を許さない設定にすれば、ある程度は防止できます。 数字タイプの引数には、 or 5=5 などのシングルクォートを使用しないコードを埋めても、 数字チェックで検出可能です。文字タイプの場合は、必ず (')をはずして、 ' or 'A' like 'A のような形式になる為、(')チェックだけでも有効です。 (') が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 初期値は、SystemData#USE_SQL_INJECTION_CHECK です。
4.0.0.0 (2005/08/31) 新規追加 |
public void setXssCheck(java.lang.String flag)
flag
- XSSチェック [true:する/false:しない]SystemData.USE_XSS_CHECK
クロスサイトスクリプティング(XSS)対策の一環としてless/greater than signについてのチェックを行います。 (><) が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_XSS_CHECK[=true])
5.0.0.2 (2009/09/15) 新規追加 |
public void setStopError(java.lang.String flag)
flag
- エラー時処理中止 [true:中止する/false:中止しない]false(中止しない)に設定する場合、後続処理では、{@DB.ERR_CODE}の値により、 PLSQL/SQLの異常/正常終了によって分岐処理は可能となります。 初期値は、true(中止する)です。
4.3.3.0 (2008/09/22) 新規追加 |
public void setDispError(java.lang.String flag)
flag
- [true:表示する/false:表示しない]false(表示しない)に設定する場合、後続処理では、{@DB.ERR_MSG}の値により、 本来表示されるはずだったメッセージを取得可能です。 stopErrorと併用して、JSON形式でエラーを返す場合等に利用します。 初期値は、true(表示する)です。 ※false指定の場合は件数や、overFlowメッセージ等も表示されなくなります。
5.9.26.1 (2017/11/10) 新規追加 |
public void setMainTrans(java.lang.String flag)
flag
- メイントランザクションかどうか [true:メイン/false:その他]この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
5.1.6.0 (2010/05/01) 新規作成 |
public void setUseBeforeHtmlTag(java.lang.String useTag)
useTag
- 情報出力の有効/無効 [true:有効/false:無効]Query で、検索する場合に、処理時間(queryTime)などの情報を出力していますが、 ViewForm で、CustomData などの 非HTML表示ビューを使用する場合、データとして、 紛れ込んでしまうため、出力を抑制する必要があります。 true(有効)にすると、これらのHTMLが出力されます。false にすると、出力されません。 初期値は、true(有効) です。
5.3.5.0 (2011/05/01) 新規追加 |
public void setUseTimeView(java.lang.String flag)
flag
- 処理時間を表示 [true:する/false:しない]true に設定すると、処理時間を表示するバーイメージが表示されます。 これは、DB検索、APサーバー処理、画面表示の各処理時間をバーイメージで 表示させる機能です。処理時間の目安になります。 (初期値:VIEW_USE_TIMEBAR[=true])。
6.3.6.0 (2015/08/16) useTimeView の初期値を、VIEW_USE_TIMEBAR にする。 |
public java.lang.String toString()
toString
クラス内 CommonTagSupport
6.3.1.1 (2015/07/10) SQL文から、TAB→スペース変換と、余計な改行を削除します。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.