クラス EqualsTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class EqualsTag extends CommonTagSupport
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,
  • コンストラクタの詳細

    • EqualsTag

      public EqualsTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doStartTag

      public int 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

      public int 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

      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.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

      public void setVal1(String val)
      【TAG】equals で比較するときの、第1引数(左辺)を指定します。
      パラメータ:
      val - 第1引数
      変更履歴:
      6.9.3.0 (2018/03/26) isException 属性を追加します。
      説明:
      equals で比較するときの、第1引数を指定します。 val1 が null の場合は、無条件で非成立になります。 ( val1 == val2 ) はチェックしないというイメージです。 val1 が null かどうか判断する場合は、nullCheck="true" を使用してください。
    • setVal2

      public void setVal2(String val)
      【TAG】equals で比較するときの、第2引数(右辺)を指定します。
      パラメータ:
      val - 第2引数
      変更履歴:
      6.9.3.0 (2018/03/26) isException 属性を追加します。
      説明:
      equals で比較するときの、第2引数を指定します。
    • setIgnoreCase

      public void setIgnoreCase(String flag)
      【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する))。
      パラメータ:
      flag - 大文字/小文字を区別しないかどうか [true:しない/それ以外:する]
      説明:
      startsWith , contains , endsWith , equalsIgnoreCase での比較時に、比較対象の 大文字/小文字を区別しないかどうかを指定します。 区別しない ("true") 場合、aaa と AAA は、一致したとみなされます。 初期値は、区別する ("false") です。
    • setUseTrim

      public void setUseTrim(String flag)
      【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

      public void setStartsWith(String flag)
      【TAG】この文字列が、指定された接頭辞で始まるかどうか[true/false]を判定します(初期値:false)。
      パラメータ:
      flag - 接頭辞で始まるかどうか [true:判定する/それ以外:しない]
      説明:
      val1.startsWith( val2 ) の書式で判定されます。この場合、"ABCDEFG".startsWith( "ABC" ) の場合に、条件成立します。(つまり、val1 に対して、val2 で始まっているかどうか問合せる) 初期値は、判定しない ("false")
    • setNullCheck

      public void setNullCheck(String flag)
      【廃止】null チェックを行うかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      flag - nullチェックを行うかどうか [true:行う/それ以外:行わない]
      変更履歴:
      8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
      説明:
      チェックを行うように指定("true")した場合に、第一引数が null の場合は、 条件成立して、タグのBody は実行されます。 初期値は、行わない (true 以外)です。
    • setIsNull

      public void setIsNull(String flag)
      【TAG】null 判定を行うかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      flag - null判定を行うかどうか [true:行う/それ以外:行わない]
      変更履歴:
      8.1.1.0 (2022/02/04) nullCheck廃止、isNull、notNullを追加します。
      説明:
      判定を行うように指定("true")した場合に、第一引数が null の場合は、 条件成立して、タグのBody は実行されます。 初期値は、行わない (true 以外)です。
    • setNotNull

      public void setNotNull(String flag)
      【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

      public void setNotEquals(String flag)
      【TAG】判定結果を反転させるかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      flag - 反転させるか [true:反転する/それ以外:通常]
      説明:
      通常の成立条件において、不成立の場合に、BODY を実行します。 通常の処理結果を求めて、最後に、反転処理を行います。 初期値は、通常 (true 以外)です。
    • setContains

      public void setContains(String flag)
      【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

      public void setEndsWith(String flag)
      【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

      public void setMatches(String flag)
      【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

      public void setUseStop(String flag)
      【TAG】BODYを処理後に停止するかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      flag - 処理後停止 [true:する/それ以外:しない]
      変更履歴:
      3.8.1.2 (2005/12/19) 新規追加
      説明:
      処理結果などに応じて、以下の処理を停止したい場合に、使用します。 ここでは、条件を判定後、true の場合に、BODY部を出力(処理)した後に、 ここにセットされた値に応じて、以下のページ処理を行うかどうかを指定します。 true を指定すると、以下の処理は、行われません。 初期値は、停止しない ("false")
    • setIsException

      public void setIsException(String flag)
      【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

      public void setOperator(String ope)
      【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

      public void setCompareType(String type)
      【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

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      変更履歴:
      3.2.0.0 (2003/05/22) 判定方法に、contains,endsWith,matches の方法を追加
      このメソッドは、nullを返しません