クラス EqualsTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.EqualsTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
val1 属性 と val2 属性の文字列表現の比較により BODY を表示/非表示を切り替えるタグです。
val1.equals( val2 ) が 成立すれば、 BODY を表示します。
val1 が null( or ゼロ文字列) の場合は、無条件で非成立になります。
( val1 == val2 ) はチェックしないというイメージです。
val1 が null( or ゼロ文字列) かどうか判断する場合は、isNull="true" を使用してください。
その他の属性は、比較方法を指定します。
※ 6.9.3.0 (2018/03/26) isException 追加
val1,val2 の処理で、Exceptionが発生した場合、true と判手され、BODY内部が処理されます。
これは、{@DBF.CON @DBID} のように、データベース接続の存在チェックを行うケースを
想定しています。なので、通常は、useStop="true" とともに、エラーメッセージを表示して、処理を止めます。
- 関連項目:
- 変更履歴:
- 6.4.2.0 (2016/01/29) ソースの内部構造の全体的な見直し。
- 機能分類
- 画面制御
- 形式サンプル:
- ●形式:<og:equals val1="…" val2="[…]" ・・・ >・・・</og:equals> ●body:あり(EVAL_BODY_INCLUDE:BODYをインクルードし、{@XXXX} は解析しません) ●Tag定義: <og:equals val1 ○【TAG】equals で比較するときの、第1引数(左辺)を指定します(必須)。 val2 【TAG】equals で比較するときの、第2引数(右辺)を指定します ignoreCase 【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する)) useTrim 【TAG】比較対象の引数を、trim()するかどうか[true/false]を指定します(初期値:false(trimしない)) startsWith 【TAG】この文字列が、指定された接頭辞で始まるかどうか[true/false]を判定します(初期値:false) endsWith 【TAG】指定された接尾辞で終るかどうか[true/false]を判定します(初期値:false) × nullCheck 【廃止】null チェックを行うかどうか[true/false]を指定します(初期値:false) isNull 【TAG】(旧nullCheck)null判定を行うかどうか[true/false]を指定します(初期値:false) 8.1.1.0 (2022/02/04) notNull 【TAG】not null判定を行うかどうか[true/false]を指定します(初期値:false) 8.1.1.0 (2022/02/04) notEquals 【TAG】判定結果を反転させるかどうか[true/false]を指定します(初期値:false) contains 【TAG】文字列が含まれているかどうか[true/false]の判定します(初期値:false) matches 【TAG】指定された正規表現と一致するかどうか[true/false]を判定します(初期値:false) useStop 【TAG】BODYを処理後に停止するかどうか[true/false]を指定します(初期値:false) isException 【TAG】val1,val2 の設定で、エラーが発生したかどうか[true/false]の判定します(初期値:false) operator 【TAG】比較する操作を EQ,LT,LE,GT,GE から指定します(初期値:EQ) compareType 【TAG】大小比較する方法(STRING:前方比較、NUMBER:数値比較)を指定します(初期値:STRING) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:equals> ●使用例 ・<og:equals val1="ABCD" val2="{@value}" > val1.equals( val2 ) 時に実行したい内容 </og:equals> ・<og:equals val1="{@value}" isNull="true" > val1がnullの時に実行したい内容 </og:equals> ・<og:equals val1="AbcD" val2="{@value}" ignoreCase="true" > val1.equalsIgnoreCase( val2 ) 時に実行したい内容 </og:equals> ・<og:equals val1="ABCD" val2="{@value}" startsWith="true" > val1.startsWith( val2 ) 時に実行したい内容 </og:equals>
- 導入されたバージョン:
- 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
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setCompareType
(String type) 【TAG】大小比較する方法(STRING:前方比較、NUMBER:数値比較)を指定します(初期値:STRING)。void
setContains
(String flag) 【TAG】文字列が含まれているかどうか[true/false]の判定します(初期値:false)。void
setEndsWith
(String flag) 【TAG】指定された接尾辞で終るかどうか[true/false]を判定します(初期値:false)。void
setIgnoreCase
(String flag) 【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する))。void
setIsException
(String flag) 【TAG】val1,val2 の設定で、エラーが発生したかどうか[true/false]の判定します(初期値:false)。void
【TAG】null 判定を行うかどうか[true/false]を指定します(初期値:false)。void
setMatches
(String flag) 【TAG】指定された正規表現と一致するかどうか[true/false]を判定します(初期値:false)。void
setNotEquals
(String flag) 【TAG】判定結果を反転させるかどうか[true/false]を指定します(初期値:false)。void
setNotNull
(String flag) 【TAG】not null 判定を行うかどうか[true/false]を指定します(初期値:false)。void
setNullCheck
(String flag) 【廃止】null チェックを行うかどうか[true/false]を指定します(初期値:false)。void
setOperator
(String ope) 【TAG】比較する操作を EQ,LT,LE,GT,GE から指定します(初期値:EQ)。void
setStartsWith
(String flag) 【TAG】この文字列が、指定された接頭辞で始まるかどうか[true/false]を判定します(初期値:false)。void
setUseStop
(String flag) 【TAG】BODYを処理後に停止するかどうか[true/false]を指定します(初期値:false)。void
setUseTrim
(String flag) 【TAG】比較対象の引数を、trim()するかどうか[true/false]を指定します(初期値:false(trimしない))。void
【TAG】equals で比較するときの、第1引数(左辺)を指定します。void
【TAG】equals で比較するときの、第2引数(右辺)を指定します。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, 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, 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
-
コンストラクタの詳細
-
EqualsTag
public EqualsTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doStartTag
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加, 3.8.1.3B (2006/01/30) operator、compareType 属性を追加します。, 3.8.5.1 (2006/04/28) equals の結果が true 時のみ、useStop="true" を有効にする。, 6.4.2.0 (2016/01/29) ソースの内部構造の全体的な見直し。, 6.9.3.0 (2018/03/26) isException 属性を追加します。, 8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 3.8.1.2 (2005/12/19) useStop 属性を処理します。, 6.4.2.0 (2016/01/29) ソースの内部構造の全体的な見直し。, 6.4.2.1 (2016/02/05) debugPrint() の追加。
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加, 3.8.1.2 (2005/12/19) useStop 属性の追加, 3.8.1.3 (2006/01/30) operator、compareType 属性を追加します。, 5.1.2.0 (2010/01/01) ignoreCase属性の初期値をfalse(大文字、小文字を区別する), 6.4.2.0 (2016/01/29) trim属性を追加します。, 6.4.2.0 (2016/01/29) trim属性を追加します。, 6.9.3.0 (2018/03/26) isException 属性を追加します。, 8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
-
setVal1
【TAG】equals で比較するときの、第1引数(左辺)を指定します。- パラメータ:
val
- 第1引数- 変更履歴:
- 6.9.3.0 (2018/03/26) isException 属性を追加します。
- 説明:
- equals で比較するときの、第1引数を指定します。 val1 が null の場合は、無条件で非成立になります。 ( val1 == val2 ) はチェックしないというイメージです。 val1 が null かどうか判断する場合は、nullCheck="true" を使用してください。
-
setVal2
【TAG】equals で比較するときの、第2引数(右辺)を指定します。- パラメータ:
val
- 第2引数- 変更履歴:
- 6.9.3.0 (2018/03/26) isException 属性を追加します。
- 説明:
- equals で比較するときの、第2引数を指定します。
-
setIgnoreCase
【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する))。- パラメータ:
flag
- 大文字/小文字を区別しないかどうか [true:しない/それ以外:する]- 説明:
- startsWith , contains , endsWith , equalsIgnoreCase での比較時に、比較対象の 大文字/小文字を区別しないかどうかを指定します。 区別しない ("true") 場合、aaa と AAA は、一致したとみなされます。 初期値は、区別する ("false") です。
-
setUseTrim
【TAG】比較対象の引数を、trim()するかどうか[true/false]を指定します(初期値:false(trimしない))。- パラメータ:
flag
- trimするかどうか [true:する/それ以外:しない]- 変更履歴:
- 6.4.2.0 (2016/01/29) trim属性を追加します。
- 説明:
- equals , startsWith , contains , endsWith 等での比較時に、比較対象の 引数を、両端空白文字(スペース、タブ、改行など)を削除します。 この処理を行う場合は、一番最初に行います。nullCheck などは、trim() された結果を使用します。 初期値は、trimしない ("false") です。
-
setStartsWith
【TAG】この文字列が、指定された接頭辞で始まるかどうか[true/false]を判定します(初期値:false)。- パラメータ:
flag
- 接頭辞で始まるかどうか [true:判定する/それ以外:しない]- 説明:
- val1.startsWith( val2 ) の書式で判定されます。この場合、"ABCDEFG".startsWith( "ABC" ) の場合に、条件成立します。(つまり、val1 に対して、val2 で始まっているかどうか問合せる) 初期値は、判定しない ("false")
-
setNullCheck
【廃止】null チェックを行うかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- nullチェックを行うかどうか [true:行う/それ以外:行わない]- 変更履歴:
- 8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
- 説明:
- チェックを行うように指定("true")した場合に、第一引数が null の場合は、 条件成立して、タグのBody は実行されます。 初期値は、行わない (true 以外)です。
-
setIsNull
【TAG】null 判定を行うかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- null判定を行うかどうか [true:行う/それ以外:行わない]- 変更履歴:
- 8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
- 説明:
- 判定を行うように指定("true")した場合に、第一引数が null の場合は、 条件成立して、タグのBody は実行されます。 初期値は、行わない (true 以外)です。
-
setNotNull
【TAG】not null 判定を行うかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- not null判定を行うかどうか [true:行う/それ以外:行わない]- 変更履歴:
- 8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
- 説明:
- 判定を行うように指定("true")した場合に、第一引数が null の場合は、 条件成立して、タグのBody は実行されます。 初期値は、行わない (true 以外)です。
-
setNotEquals
【TAG】判定結果を反転させるかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- 反転させるか [true:反転する/それ以外:通常]- 説明:
- 通常の成立条件において、不成立の場合に、BODY を実行します。 通常の処理結果を求めて、最後に、反転処理を行います。 初期値は、通常 (true 以外)です。
-
setContains
【TAG】文字列が含まれているかどうか[true/false]の判定します(初期値:false)。- パラメータ:
flag
- 含む判定 [true:判定する/それ以外:しない]- 変更履歴:
- 3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加
- 説明:
- val1.indexOf( val2 ) >= 0 の書式で判定されます。この場合、"ABCDEFG".indexOf( "CDE" ) の場合に、条件成立します。(つまり、val1 に対して、val2 が含まれているかどうか問合せる) 初期値は、判定しない ("false")
-
setEndsWith
【TAG】指定された接尾辞で終るかどうか[true/false]を判定します(初期値:false)。- パラメータ:
flag
- 接尾辞判定 [true:判定する/それ以外:しない]- 変更履歴:
- 3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加
- 説明:
- val1.endsWith( val2 ) の書式で判定されます。この場合、"ABCDEFG".endsWith( "EFG" ) の場合に、条件成立します。(つまり、val1 に対して、val2 で終わっているかどうか問合せる) 初期値は、判定しない ("false")
-
setMatches
【TAG】指定された正規表現と一致するかどうか[true/false]を判定します(初期値:false)。- パラメータ:
flag
- 正規表現一致判定 [true:判定する/それ以外:しない]- 変更履歴:
- 3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加
- 説明:
- val1.matches( val2 ) の書式で判定されます。val2 に指定された正規表現で、 一致するかどうかを判定します。ここでの正規表現とは、 java.util.regex.Pattern.matches(val1, val2) での判定結果と同じです。 初期値は、判定しない ("false")
-
setUseStop
【TAG】BODYを処理後に停止するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- 処理後停止 [true:する/それ以外:しない]- 変更履歴:
- 3.8.1.2 (2005/12/19) 新規追加
- 説明:
- 処理結果などに応じて、以下の処理を停止したい場合に、使用します。 ここでは、条件を判定後、true の場合に、BODY部を出力(処理)した後に、 ここにセットされた値に応じて、以下のページ処理を行うかどうかを指定します。 true を指定すると、以下の処理は、行われません。 初期値は、停止しない ("false")
-
setIsException
【TAG】val1,val2 の設定で、エラーが発生したかどうか[true/false]の判定します(初期値:false)。- パラメータ:
flag
- エラーが発生したかどうか [true:判定する/判定しない]- 変更履歴:
- 6.9.3.0 (2018/03/26) isException 属性を追加します
- 説明:
- val1,val2 の処理で、Exceptionが発生した場合、true と判手され、BODY内部が処理されます。 これは、{@DBF.CON @DBID} のように、データベース接続の存在チェックを行うケースを 想定しています。なので、通常は、useStop="true" とともに、エラーメッセージを表示して、処理を止めます。 初期値は、判定しない ("false")
-
setOperator
【TAG】比較する操作を EQ,LT,LE,GT,GE から指定します(初期値:EQ)。- パラメータ:
ope
- 比較する操作 [EQ/LT/LE/GT/GE]- 関連項目:
- 変更履歴:
- 3.8.1.3B (2006/01/30) 新規追加, 6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
- 説明:
- 比較方法として、EQ(==)、LT(<)、LE(<=)、GT(>)、GE(>=) があります。 初期値は、EQ(同じかどうか)です。 比較は、val1 に対して行われます。val1 または val2 が null の場合は、常にfalseが 返されます。通常の A < B ならば、not( B >= A ) の関係は成立しません。 val1 が null でない場合は、val1(5) LT vla2(8) は、true を返します。 ignoreCase属性(大文字/小文字の区別)を指定することで、比較する文字列の 大文字小文字を統一させることが可能です。 なお、比較時には、compareType 属性にもご注意ください。これは、文字列比較か 数字比較を指定します。
-
setCompareType
【TAG】大小比較する方法(STRING:前方比較、NUMBER:数値比較)を指定します(初期値:STRING)。- パラメータ:
type
- 判定方法 [STRING:前方比較/NUMBER(数値比較)]- 関連項目:
- 変更履歴:
- 3.8.1.3B (2006/01/30) 新規追加, 6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
- 説明:
- operator 属性で大小を比較する場合、比較方法として、前方比較と数値比較を指定できます。 STRING(前方比較)とは、お互いの文字列を前方から順に比較していきます。例えば、 ABC と AABBCC や、123 と 112233 では、AABBCC や 112233 が小さいと判断されます。 NUMBER(数値比較)では、123 と 112233 では、123 が小さいと判断されます。 NUMBER は、数字に変換できる値である必要があります。 STRING は、ignoreCase属性(大文字/小文字の区別)を指定することで、比較する文字列の 大文字小文字を統一させることが可能です。 初期値は、STRING(前方比較)です。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- 変更履歴:
- 3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加
- このメソッドは、nullを返しません
-