public class AppearTag extends CommonTagSupport
指定された value 値の{@XXXX} 変数が設定された場合のみ表示するタグです。 value 値に、{@XXXX} 変数を使用して、リクエスト値が設定された場合のみ その値を表示します。これは、{@XXXX} 変数と固定値を組み合わせた場合でも 同様に、値が設定されていない場合は、使用されません。 defaultVal が設定されており、リクエスト値が設定されていない場合、defaultVal 値が 使用されます。 このタグが使用されるケースの代表は、SQLでの order by 句です。一般のリクエスト時には、 order by 句をリクエストで設定して、ユーザーが検索する時に、切り替えができるように します。別画面から、リンク等で画面を呼び出す場合は、通常 order by 句の条件まで、 指定しません。そのような場合に備えて、og:appear タグでdefaultVal 値を設定しておき、 未指定時の検索順を予め指定しておきます。
●形式:<og:appear startKey="[order by|…]" value="…" defaultVal="[…]" /> ●body:なし ●Tag定義 <og:appear startKey 【TAG】開始文字列を設定します(初期値:"") value ○【TAG】値をセットします(指定された値が 設定されている場合のみ使用されます)(必須) defaultVal 【TAG】初期値を設定します(value値がNULLの場合に、この初期値が表示) quotCheck 【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true]) xssCheck 【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=true]) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <!-- DB検索 SQL文記述 debug="true" でSQL文を確認できます。--> <og:query command="{@command}" debug="{@debug}" maxRowCount="{@maxRowCount}"> select CLM,NAME_JA,LABEL_NAME,URL,KBSAKU, SYSTEM_ID,LANG,FGJ,(CASE WHEN URL IS NULL THEN 0 ELSE 1 END) AS ONMARK from GF41 <!-- 検索条件でWhereTagを使用すれば{@xxxx}がNULLの場合、その条件は無視されます。 --> <og:where> <og:and value = "FGJ in ('0','1')" /> <og:and value = "SYSTEM_ID = '{@SYSTEM_ID}'" /> <og:and value = "LANG = '{@LANG}'" /> <og:and value = "CLM like '{@CLM}%'" /> <og:and value = "NAME_JA like '{@NAME_JA}%'" /> <og:and value = "LABEL_NAME like '{@LABEL_NAME}%'" /> <og:and value = "KBSAKU = '{@KBSAKU}'" /> </og:where> <!-- ORDER BY句でAppearTagを使用すれば{@ORDER_BY}がNULLの場合、ORDER BY句は無視されます。 --> <!-- また、{@ORDER_BY}がNULLの場合に、defaultVal属性を指定すれば、その値でORDER BY表示されます。 --> <og:appear startKey = "order by" value = "{@ORDER_BY}" defaultVal = "SYSTEM_ID,CLM,LANG" /> </og:query>
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
AppearTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setDefaultVal(String val)
【TAG】初期値を設定します(value値がNULLの場合に、この初期値が表示)。
|
void |
setQuotCheck(String flag)
【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_SQL_INJECTION_CHECK[=true])。
|
void |
setStartKey(String val)
【TAG】開始文字列を設定します(初期値:"")。
|
void |
setValue(String val)
【TAG】値をセットします(指定された値が 設定されている場合のみ使用されます)。
|
void |
setXssCheck(String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_XSS_CHECK[=true])。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, 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, 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 int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
5.7.8.1 (2014/07/18) quotCheck,xssCheck 追加 |
protected void release2()
release2
クラス内 CommonTagSupport
2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
5.7.8.1 (2014/07/18) quotCheck , xssCheck 追加 |
public void setStartKey(String val)
val
- 開始文字列(例:startKey="order by")このキーは、バリューと接続される場合に空白文字を一つ挿入します。
public void setValue(String val)
val
- 値指定された値が 設定されている場合のみ、開始文字列(startKey)と組み合わせれて、使用されます。 これは、一般にvalue値が変動する場合に、defaultVal 等に重複する値を 設定したくない場合に使用します。{@XXXX}文字が使用できます。
public void setDefaultVal(String val)
val
- 初期値value値がNULL(指定されない)の場合に、この初期値が値として使用されます。
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[=true])。
4.0.0.0 (2005/08/31) 新規追加 |
public void setXssCheck(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 String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.