クラス SqlAndTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.SqlAndTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
Where句を作成するための条件を指定します。
このタグのvalue 値に、{@XXXX} 変数が含まれている場合、そのリクエスト値が
ない場合は、このタグそのものがなにも出力しません。(つまり条件から消えます。)
startKeyは、value を連結する場合の頭に置かれる文字列で、where句の最初には表示されず、
それ以降について、表示されます。(つまり、where VALUE1 and VALUE2 and VALUE3 … です。)
startKey の初期値は、"and" です。
multi は、{@XXXX} 変数に、値が複数含まれている場合の処理を規定します。
複数の値とは、同一nameでチェックボックス指定や、メニューでの複数指定した場合、
リクエストが配列で送られます。multi="true" とすると、'xx1','xx2','xx3', ・・・ という
形式に変換されます。
具体的には、"where PN in ( {@PN} )" という文字列に対して、
"where PN in ( 'xx1','xx2','xx3' )" を作成することができます。
multi の初期値は、"false" です。
SystemData の USE_SQL_INJECTION_CHECK が true か、quotCheck 属性が true の場合は、
SQLインジェクション対策用のシングルクォートチェックを行います。リクエスト引数に
シングルクォート(')が含まれると、エラーになります。
同様にUSE_XSS_CHECKがtrueか、xssCheck属性がtrueの場合は、
クロスサイトススクリプティング(XSS)対策のためless/greater than signのチェックを行います。
各属性は、{@XXXX} 変数が使用できます。
これは、ServletRequest から、XXXX をキーに値を取り出し、この変数に割り当てます。
つまり、このXXXXをキーにリクエストすれば、この変数に値をセットすることができます。
- 関連項目:
- 機能分類
- 画面部品
- 形式サンプル:
- ●形式:<og:and startKey="[and|or|…]" value="…" multi="[false|true]" />
●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)
●Tag定義:
<og:and
startKey 【TAG】SQL条件句の最初の演算子を指定します(初期値:and)
value 【TAG】条件の値を セットします
multi 【TAG】複数の引数に対して処理するかどうか[true/false]を設定します(初期値:false)
separator 【TAG】multi アクション時の文字列を分割する項目区切り文字をセットします
instrVals 【TAG】スペースで区切られた複数の値すべてを含む条件を作成します
instrType 【TAG】instrValsで複数の値を条件にする際の方法を指定します[and,or,andX,orX,in,notin](初期値:and)
range 【TAG】数値型カラムに対して、ハイフンで範囲指定をカンマに分解するかどうか[true/false]を設定します(初期値:false) 6.5.0.0 (2016/09/30)
placeHolder 【TAG】value の?に設定する値を指定します。(queryType="JDBCPrepared"専用) 8.0.0.0bindVal 【TAG】value の?に設定する値を指定します。(queryType="JDBCPrepared"専用 旧placeHolder) quotCheck 【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true]) xssCheck 【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=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:and> ●使用例 <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=AAA , YOBI=BBB) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where PN = 'AAA' and YOBI like 'BBB%' order by PN ・検索条件が片方入力されなかった時(PNがNULLのとき、YOBI=BBB) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where YOBI like 'BBB%' order by PN ・検索条件が入力されなかった時(PNがNULL, YOBIがNULL) WHERE句がなくなる。 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 order by PN 注意:WhereTagを使わない場合に、検索条件が入力されなかった場合は、下記のようになります。 select PN,YOBI,NMEN,HINM from XX01 where 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 in ({@YOBI})" multi="true" /> <og:and value="HINM like '{@HINM}%'" /> </og:where> order by PN </og:query> ・YOBI を複数選択し、in で検索する時(YOBI=AA,BB,CC を選択) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where PN = '11111' and YOBI in ( 'AA','BB','CC' ) and HINM like 'BBB%' order by PN -------------------------------------------------------------------------------------------------------------- bindVal(旧 placeHolder)を利用する場合の利用例。 queryタグのqueryTypeはJDBCPrepared専用です。 なお、multi 使用時は、バインド変数は、一つのみ指定可能です。 <og:query command="NEW" queryType="JDBCPrepared"> SELECT * FROM XX01 <og:where> <og:and value="K01 = ?" bindVal="{@VAL1}" /> <og:and value="K02 LIKE ?" bindVal="{@VAL2}%" /> <og:and value="K03 IN (?)" multi="true" bindVal="{@VAL3}" /> <og:and value="K04 = ? || ?" bindVal="{@VAL4},{@VAL5}" /> </og:where> </og:query> - 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明int
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() をオーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected String
getRequestValue
(String key) リクエスト情報の文字列を取得します。protected String
タグの名称を、返します。protected void
release2()
タグリブオブジェクトをリリースします。void
setBindVal
(String val) 【TAG】バインド変数(プレースホルダー)のvalueの条件作成を判定します(JDBCParepared用)。void
setInstrType
(String tp) 【TAG】instrValsで複数の値を条件にする際の方法を指定します(初期値:and)。void
setInstrVals
(String val) 【TAG】特定の文字で区切られた複数の値すべてを含む条件を作成します。void
【TAG】複数の引数に対して処理するかどうか[true/false]を設定します(初期値:false)。void
setQuotCheck
(String flag) 【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])。void
【TAG】数値型カラムに対して、ハイフンで範囲指定をカンマに分解するかどうか[true/false]を設定します(初期値:false)。void
setSeparator
(String sepa) 【TAG】multi アクション/instrVals 時の文字列を分割する項目区切り文字をセットします。void
setStartKey
(String skey) 【TAG】SQL条件句の最初の演算子を指定します(初期値:and)。void
【TAG】条件の値をセットします。void
setXssCheck
(String flag) 【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=])。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, 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, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, 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, useStrict, useTag, useXssCheck
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.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
インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
コンストラクタの詳細
-
SqlAndTag
public SqlAndTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doStartTag
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 4.0.0.0 (2006/12/05) BODY 部の値を value に使用する機能追加, 4.0.0.0 (2005/08/31) useQuotCheck() によるSQLインジェクション対策, 5.0.0.2 (2009/09/15) XSS対策, 5.2.2.0 (2010/11/01) caseKey、caseVal 属性対応, 6.1.1.0 (2015/01/17) localReq変数を使う事で、RequestParameter処理を制御します。
-
doAfterBody
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。- 定義:
doAfterBody
インタフェース内IterationTag
- オーバーライド:
doAfterBody
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示(SKIP_BODY)
- 変更履歴:
- 4.0.0.0 (2006/12/05) BODY 部の値を value に使用する機能追加, 6.1.1.0 (2015/01/17) localReq変数を使う事で、RequestParameter処理を制御します。
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() をオーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.8.8.1 (2007/01/06) makeInstrVals を加味する。, 5.0.0.2 (2009/09/15) multi時のallNull対応, 5.1.9.0 (2010/08/01) matchKey、matchVal 対応 ⇒ 5.2.2.0 (2010/11/01) 廃止, 5.2.2.0 (2010/11/01) caseKey、caseVal 属性対応, 6.9.9.0 (2018/08/20) placeHolder属性追加( 5.10.2.1 (2018/08/18) ), 8.0.0.0 (2021/07/31) placeHolder属性 → bindVal 名称変更, 8.5.3.0 (2023/09/08) DynamicAttributes対応
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.8.8.1 (2007/01/06) instrVals 属性追加, 4.0.0.0 (2005/08/31) quotCheck 属性の追加, 5.0.0.2 (2009/09/15) XSS対応, 5.0.0.2 (2009/09/15) multi時のallNull対応, 5.1.9.0 (2010/08/01) matchKey、matchVal 属性の追加, 5.2.2.0 (2010/11/01) separator , isMatch 属性の追加, 5.2.2.0 (2010/11/01) matchKey、matchVal 属性廃止(caseKey,caseVal属性を使用してください。), 5.4.1.0 (2011/11/01) instrType属性追加, 6.1.1.0 (2015/01/17) localReq変数を使う事で、RequestParameter処理を制御します。, 6.5.0.0 (2016/09/30) 数値型カラムの範囲指定(range)の追加。, 6.9.9.0 (2018/08/20) placeHolder属性追加( 5.10.2.1 (2018/08/18) ), 8.0.0.0 (2021/07/31) placeHolder属性 → bindVal 名称変更
-
getRequestValue
リクエスト情報の文字列を取得します。 これは、通常のgetRequestParameter 処理の中で呼ばれる getRequestValue を オーバーライトしています。- オーバーライド:
getRequestValue
クラス内CommonTagSupport
- パラメータ:
key
- キー- 戻り値:
- リクエスト情報の文字列
- 変更履歴:
- 5.0.0.2 (2009/09/15) valuesの全NULL/空文字をisNull扱いにする, 5.3.8.0 (2011/08/01) Attribute等からも値が取得できるようにする。の対応時の特殊処理, 6.1.1.0 (2015/01/17) localReq変数を使う事で、RequestParameter処理を制御します。, 6.5.0.0 (2016/09/30) 数値型カラムの範囲指定(range)の追加。
-
setStartKey
【TAG】SQL条件句の最初の演算子を指定します(初期値:and)。- パラメータ:
skey
- 条件句の最初の演算子- 変更履歴:
- 6.1.1.0 (2015/01/17) localReq変数を使う事で、RequestParameter処理を制御します。
- 説明:
- value を連結する場合の頭に置かれる文字列で、where句の最初には表示されず、 それ以降について、表示されます。 (つまり、where VALUE1 and VALUE2 and VALUE3 … です。) startKey の初期値は、"and" です。
-
setValue
【TAG】条件の値をセットします。- パラメータ:
val
- 条件値- 説明:
- 条件値に、{@XXXX} 変数が含まれている場合、そのリクエスト値がない場合は、 このタグそのものがなにも出力しません。(つまり条件から消えます。) BODY 部に記述することが可能です。その場合は、条件属性になにも設定できません。
-
setInstrVals
【TAG】特定の文字で区切られた複数の値すべてを含む条件を作成します。- パラメータ:
val
- 複合条件作成のための設定値- 関連項目:
- 変更履歴:
- 6.4.3.2 (2016/02/19) 区切り文字を、スペース、カンマ、タブ、改行にします。
- 説明:
- value="CLM" instrVals="ABC DEF GHI" と指定すると、 value="CLM LIKE '%ABC%' AND CLM LIKE '%DEF%' AND CLM LIKE '%GHI%' " という文字列を作成します。 通常の、value="CLM LIKE '%ABC%DEF%'" の指定方法では、ABCとDEFの 順番が固定化されますが、instrVals を用いた方法では、個別指定が可能です。 ※ 6.4.3.2 (2016/02/19) これは、instrVals に指定した引数に対して、スペース、カンマ、タブ、改行の どれかで区切ります。個別に指定する場合は、separatorに設定します。 これは、instrVals.split(separator) で分割するので、正規表現が使用可能です。 分割後に、前方の value に複数のAND検索(instrTypeで変更可)を同時に指定できる ため、現れる場所に依存しません。 逆に、現れる順序を指定する場合は、ABC%DEF の様に指定可能です。 ただし、columnMarker の instrVals で、複数文字のマーカーを行う場合、 ABC%DEF という文字列は、オリジナルでないので、マークアップされません。 ※instrType属性の指定により条件の生成方法を変更することができます。 詳細については、instrType属性のドキュメントを参照下さい。
-
setInstrType
【TAG】instrValsで複数の値を条件にする際の方法を指定します(初期値:and)。- パラメータ:
tp
- 条件方法 [and/or/in/notin]- 関連項目:
- 変更履歴:
- 5.5.1.1 (2012/04/06) notin対応(コメント修正), 6.1.1.0 (2015/01/17) 初期値指定のコーディングミス修正, 6.7.3.0 (2017/01/27) in とnot in のコーディングを、変更, 8.4.2.1 (2023/03/10) instrType属性に、andX,orX の追加
- 説明:
- 通常、instrValsに指定された値は、スペース区切りで分割した各値を
LIKE条件としてand結合します。
しかし、instrType属性を変更することで、この条件式の生成方法を変更
することができます。
具体的には、以下の通りです。
①instrTypeに"and"が指定されている場合(初期値)
タグの記述 : value="CLM" instrVals="ABC DEF GHI"
生成文字列 : "( CLM LIKE '%ABC%' AND CLM LIKE '%DEF%' AND CLM LIKE '%GHI%' )"
②instrTypeに"or"が指定されている場合
タグの記述 : value="CLM" instrVals="ABC DEF GHI"
生成文字列 : "( CLM LIKE '%ABC%' OR CLM LIKE '%DEF%' OR CLM LIKE '%GHI%' )"
③instrTypeに"in"が指定されている場合
タグの記述 : value="CLM" instrVals="ABC DEF GHI"
生成文字列 : "CLM in ('ABC','DEF5','GHI')"
④instrTypeに"notin"が指定されている場合
タグの記述 : value="CLM" instrVals="ABC DEF GHI"
生成文字列 : "CLM not in ('ABC','DEF5','GHI')"
⑤instrTypeに"andX"が指定されている場合(前方一致 and) 8.4.2.1 (2023/03/10) 追加
タグの記述 : value="CLM" instrVals="ABC DEF GHI"
生成文字列 : "( CLM LIKE 'ABC%' AND CLM LIKE 'DEF%' AND CLM LIKE 'GHI%' )"
⑥instrTypeに"orX"が指定されている場合(前方一致 or) 8.4.2.1 (2023/03/10) 追加
タグの記述 : value="CLM" instrVals="ABC DEF GHI"
生成文字列 : "( CLM LIKE 'ABC%' OR CLM LIKE 'DEF%' OR CLM LIKE 'GHI%' )"
※この属性を指定しない場合は、①のLIKE条件でのand結合となります。
※③④について、LIKE条件で%を自動付加しないことにより、画面からの入力値に応じて、 前方一致、後方一致、前後方一致の制御を行うことができます。
-
setMulti
【TAG】複数の引数に対して処理するかどうか[true/false]を設定します(初期値:false)。- パラメータ:
flag
- マルチ変換 [true:する/それ以外:しない]- 関連項目:
- 変更履歴:
- 6.1.1.0 (2015/01/17) localReq変数を使う事で、RequestParameter処理を制御します。
- 説明:
- {@XXXX} 変数に、値が複数含まれている場合の処理を規定します。 multi="true" に設定すると、複数の引数は、'xx1','xx2','xx3', ・・・ という 形式に変換します。 where 条件で言うと、"where PN in ( {@PN} )" という文字列に対して、 "where PN in ( 'xx1','xx2','xx3' )" を作成することになります。 初期値は、false(マルチ変換しない)です。
-
setSeparator
【TAG】multi アクション/instrVals 時の文字列を分割する項目区切り文字をセットします。- パラメータ:
sepa
- 項目区切り文字(正規表現)- 関連項目:
- 変更履歴:
- 5.2.2.0 (2010/11/01) 新規追加, 6.1.1.0 (2015/01/17) コメント修正。separatorは、正規表現が使用できます。
- 説明:
- multi="true" の場合、複数のリクエストを連結して、in 句で問合せを行う文字列を 作成しますが、separator を指定すると、さらに、separator で文字列を分割して、 in 句の引数を構築します。 これは、instrVals を指定した場合にも、同様に分解します。 具体的には、分割後の文字列が、複数の個々のリクエスト変数と同じ形式に加工されます。 String#split( separator ) で、分解するため、正規表現が使用できます。 何も指定しない場合は、multi アクション時は、分割処理は行いません。 instrVals 時は、スペースで分解処理します。
-
setRange
【TAG】数値型カラムに対して、ハイフンで範囲指定をカンマに分解するかどうか[true/false]を設定します(初期値:false)。- パラメータ:
flag
- 範囲変換 [true:する/それ以外:しない]- 変更履歴:
- 6.5.0.0 (2016/09/30) 数値型カラムの範囲指定(range)の追加。
- 説明:
- {@XXXX} 変数に、"1,3,4-8" のような指定を行うと、"1,3,4,5,6,7,8" に変換します。 これは、数値型カラムの範囲指定を、ハイフンで行うことが出来る機能です。 ハイフン以外は、カンマで区切って、普通の数値として指定できます。 where 条件で言うと、"where GOKI in ( {@GOKI} )" という文字列に対して、 "where GOKI in ( 1,3,4,5,6,7,8 )" を作成することになります。 初期値は、false(範囲変換しない)です。 これは、数値カラムの範囲指定で、対象は自然数なので、小数や、マイナス、増加ステップが1以外、 マイナスステップは扱えません。 ちなみに、指定を数値タイプのカラムを使用すると、カンマを、自動削除してしまいますので、文字カラムを リクエスト変数に使用してください。
-
setBindVal
【TAG】バインド変数(プレースホルダー)のvalueの条件作成を判定します(JDBCParepared用)。- パラメータ:
val
- 値- 変更履歴:
- 6.9.9.0 (2018/08/20) 新規追加( 5.10.2.1 (2018/08/18) ), 8.0.0.0 (2021/07/31) placeHolder属性 → bindVal 名称変更
- 説明:
- value="CLM=?" bindVal="{@CLM}"と指定されていた場合、 {@CLM}に値が存在する場合のみ、CLM=?が指定されます。 {@XXXX}形式での指定が可能で、valueの ? に対応した値をセットします。
-
setQuotCheck
【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])。- パラメータ:
flag
- クォートチェック [true:する/それ以外:しない]- 関連項目:
- 変更履歴:
- 4.0.0.0 (2005/08/31) 新規追加
- 説明:
- SQLインジェクション対策の一つとして、暫定的ではありますが、SQLのパラメータに 渡す文字列にシングルクォート(') を許さない設定にすれば、ある程度は防止できます。 数字タイプの引数には、or 5=5 などのシングルクォートを使用しないコードを埋めても、 数字チェックで検出可能です。文字タイプの場合は、必ず (')をはずして、 ' or 'A' like 'A のような形式になる為、(')チェックだけでも有効です。 (') が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_SQL_INJECTION_CHECK[=])。
-
setXssCheck
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=])。- パラメータ:
flag
- XSSチェック [true:する/false:しない]- 関連項目:
- 変更履歴:
- 5.0.0.2 (2009/09/15) 新規追加
- 説明:
- クロスサイトスクリプティング(XSS)対策の一環としてless/greater than signについてのチェックを行います。 (><) が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_XSS_CHECK[=])。
-
getTagName
タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。- オーバーライド:
getTagName
クラス内CommonTagSupport
- 戻り値:
- タグの名称
- 関連項目:
- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
- このメソッドは、nullを返しません
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-