public class QueryOptionTag extends CommonTagSupport
●形式: <og:queryOption > SELECT文 </og:queryOption > ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:queryOption value 【TAG】Optionの初期値で選ばれる値を指定します separator 【TAG】複数のラベルを合成するときに使用する項目区切り文字をセットします(初期値:スペース) defaultVal 【TAG】value値がNULLの場合に使用される初期値を設定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します quotCheck 【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true]) dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します addKey 【TAG】項目が一つだけの場合のラベルリソースに、キー情報を追加するかどうかを指定します(初期値:false) classUseNo 【TAG】オプションに追加する class 属性の カラム番号を指定します groupUseNo 【TAG】オプションのグループ化を行うカラム番号を指定します titleUseNo 【TAG】オプションに追加する title 属性の カラム番号を指定します xssCheck 【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=true]) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:queryOption> ●使用例 <og:select name="CDC" > <og:queryOption> select NOSYN,NOSYN,NMSYN from DB01 ORDER BY 1 </og:queryOption> </og:select> <og:select name="CDC" > 選択項目の一番上に空白をセットしたいときoptionタグを組合せることも可能です。 <og:option lbl="" /> 初期値を設定したいときはvalue属性を使います。 <og:queryOption value="61200" separator=":" > select CDBK,CDBK,NMBK from DB02 ORDER BY 1 </og:queryOption> </og:select>
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
QueryOptionTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAddKey(String id)
【TAG】項目が一つだけの場合のラベルリソースに、キー情報を追加するかどうかを指定します(初期値:false)。
|
void |
setClassUseNo(String no)
【TAG】オプションに追加する class 属性の カラム番号を指定します。
|
void |
setDbid(String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
|
void |
setDefaultVal(String val)
【TAG】value値がNULLの場合に使用される初期値を設定します。
|
void |
setGroupUseNo(String no)
【TAG】オプションのグループ化を行うカラム番号を指定します。
|
void |
setQuotCheck(String flag)
【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_SQL_INJECTION_CHECK[=true])。
|
void |
setSeparator(String sep)
【TAG】複数のラベルを合成するときに使用する項目区切り文字をセットします(初期値:スペース)。
|
protected void |
setTableModel(DBTableModel table)
DBTableModelをセットします。
|
void |
setTitleUseNo(String no)
【TAG】オプションに追加する title 属性の カラム番号を指定します。
|
void |
setValue(String val)
【TAG】Optionの初期値で選ばれる値を指定します。
|
void |
setXssCheck(String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_XSS_CHECK[=true])。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, 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 QueryOptionTag()
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 CommonTagSupport
5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 |
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.7.1.0 (2005/04/26) DBTableModel がすでにセットされている場合は、SQL処理不要。 |
4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更 |
4.0.0.0 (2005/08/31) useQuotCheck() によるSQLインジェクション対策 |
3.8.6.3 (2006/11/30) SQL 文の前後のスペースを取り除きます。 |
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 |
4.3.6.0 (2009/04/01) EventColumn対応 |
5.0.0.5 (2009/08/28) XSS対策 |
5.1.7.0 (2010/06/01) 動的プルダウン実装見直し |
5.1.9.0 (2010/08/01) TransactionTag 対応。上位に TransactionTag があれば、そこからConnection をもらう。 |
5.3.7.0 (2011/07/01) TransactionReal の引数変更 |
5.3.8.0 (2011/08/01) Transaction発生箇所でclose() |
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.3.2.0 (2003/07/07) defaultVal 属性の追加。 |
3.5.4.0 (2003/11/25) selVal 属性を追加。 |
5.0.2.0 (2009/11/01) 複数パラメーターの選択に対応 |
5.1.7.0 (2010/06/01) 動的プルダウン実装見直し |
5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 |
5.7.1.0 (2013/12/06) SelectTag ⇒ OptionAncestorIF に変更して、DatalistTag にも対応。 |
protected void release2()
release2
クラス内 CommonTagSupport
2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
3.0.1.0 (2003/03/03) セパレーターを指定できる様に変更。 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.3.2.0 (2003/07/07) defaultVal 属性の追加。 |
3.8.5.2 (2006/06/09) classUseNo , groupUseNo 属性の追加。 |
4.0.0.0 (2005/08/31) quotCheck , addKey 属性の追加 |
4.0.0.0 (2007/10/10) dbid の初期値を、"DEFAULT" から null に変更 |
5.1.7.0 (2010/06/01) 動的プルダウン実装見直し |
protected void setTableModel(DBTableModel table)
table
- DBTableModelオブジェクト3.7.1.0 (2005/04/26) 新規追加 |
public void setValue(String val)
val
- Optionの初期値で選ばれる値Optionの初期値で選ばれる値を指定します。
public void setDefaultVal(String val)
val
- 初期値value値がNULLの場合に、この初期値をセットします。
3.3.2.0 (2003/07/07) defaultVal 属性の追加。(新規作成) |
public void setSeparator(String sep)
sep
- 項目区切り文字初期値は、スペースです。
3.0.1.0 (2003/03/03) セパレーターを指定できる様に変更。 |
public void setClassUseNo(String no)
no
- オプションに追加するクラス属性オプションは、データベースを検索して作成されますが、そのSQL文のカラム情報を 使用して オプションに class 属性を追加します。 各オプションに色をつける場合は、この class 属性に対応する CSS ファイルを用意します。 ここでは、class 属性に使用する SQL文の カラム番号( 先頭が 0 ) を指定します。 通常、カラム番号=0 は キー情報、=1 はラベル情報 です。2 か 3 を指定します。 初期値は、使用しない(-1)です。
3.8.5.2 (2006/06/09) 新規追加 |
public void setGroupUseNo(String no)
no
- キーブレイク時に追加するグループ文字オプションは、データベースを検索して作成されますが、そのSQL文のカラム情報を 使用して オプションをグループ化します。グループ化は optgroup要素をブレイク時に 出力する事で対応します。 ここでは、グループ化に使用する SQL文の カラム番号( 先頭が 0 ) を指定します。 通常、カラム番号=0 は キー情報、=1 はラベル情報 です。2 か 3 を指定します。 初期値は、使用しない(-1)です。
3.8.5.2 (2006/06/09) 新規追加 |
public void setQuotCheck(String flag)
flag
- クォーティションチェック [true:する/それ以外:しない]SystemData.USE_SQL_INJECTION_CHECK
SQLインジェクション対策の一つとして、暫定的ではありますが、SQLのパラメータに 渡す文字列にクォーティション(') を許さない設定にすれば、ある程度は防止できます。 数字タイプの引数には、 or 5=5 などのクォーティションを使用しないコードを埋めても、 数字チェックで検出可能です。文字タイプの場合は、必ず (')をはずして、 ' or 'A' like 'A のような形式になる為、(')チェックだけでも有効です。 (') が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_SQL_INJECTION_CHECK[={@og.value org.opengion.hayabusa.common.SystemData#USE_SQL_INJECTION_CHECK}])。
4.0.0.0 (2005/08/31) 新規追加 |
public void setDbid(String id)
id
- データベース接続IDQueryオブジェクトを作成する時のDB接続IDを指定します。 これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先 情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して データベースにアクセスできます。
public void setAddKey(String id)
id
- データベース接続IDQueryオブジェクトの項目が一つの場合、ラベル部には、ラベルリソースを使用します。 この時、ラベル無しの場合は、キーが表示されますが、ラベルありの場合は、キーは表示されず ラベルのみ表示されます。 都合によっては、キーも表示したい場合がありますので、その様なケースでは、 addKey = "true を設定する事で、キー:ラベル のセットをラベルとして扱います。 初期値はfalse(キーは付加しない)です。
public void setXssCheck(String flag)
flag
- XSSチェック [true:する/false:しない]SystemData.USE_XSS_CHECK
クロスサイトスクリプティング(XSS)対策の一環としてless/greater than signについてのチェックを行います。 (><) が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_XSS_CHECK[={@og.value org.opengion.hayabusa.common.SystemData#USE_XSS_CHECK}])。
5.0.0.2 (2009/09/15) 新規追加 |
public void setTitleUseNo(String no)
no
- オプションに追加するtitle属性オプションは、データベースを検索して作成されますが、そのSQL文のカラム情報を 使用して オプションに title 属性を追加します。 title属性はマウスオーバー時にツールチップとして表示されるため、 プルダウンの横幅を短くしたい場合に有効です。 通常、カラム番号=0 は キー情報、=1 はラベル情報 です。2 か 3 を指定します。 初期値は、使用しない(-1)です。
4.3.8.0 (2009/08/01) 新規追加 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.