パッケージ org.opengion.hayabusa.taglib

# クラス ColumnMarkerTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.ColumnMarkerTag

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

public class ColumnMarkerTag extends CommonTagSupport
検索結果のカラム表示に対して様々な属性を付加(マーキング)するタグです(参照:viewMarker)。 このタグは、カラム毎にマーキングするタグです。親タグとして、viewMarker を 使用する必要があります。 このタグでは、BODY部に指定した値を、レンデラーとして使用します。通常の文字は、 そのままで、{@XXXX}で指定した変数は、リクエスト値を設定します。 [XXXX]で指定した値は、検索結果のDBTableModelの値を行毎に割り当てます。 マーカー指定の有無(マーカーするかしないか)は、onMark属性と、markList属性で 指定します。markList属性に指定の値に、onMark属性に設定した値が存在する場合、 マーカーされます。 このmarkList属性には、"1" と "true"が初期設定 されているため、onMark属性に"1" または "true"を指定すれば、全行マークされます。 また、どちらの属性も、{@XXXX} や、[XXXX]変数が使用できます。[XXXX]変数では、 行毎に、onMark属性や、markList属性を設定できる為、(通常はどちらか固定) 行毎の マーカー指定の有無を指定できます。 [XXXX]変数でカラム名の先頭に$を付加した場合(例:[$XXXX])は、元の値がURLエンコード されて返されます。ただし、useFormatDeco="true" を指定すると、[$XXXX] は、 レンデラー処理された文字列を返します。 ※ 現段階では、viewMarker がカラム名をキーにcolumnMarkerオブジェクトを 管理している為、行毎にマークの有無は指定できますが、マークを切り替える 使い方が出来ません。 6.7.6.0 (2017/03/17) [strictCheck属性]は、カラムＩＤの存在チェックを行うかどうかを指定します(初期値:true) true カラムＩＤがDBTableModel に存在しない場合は、エラーになる。 false カラムＩＤがDBTableModel に存在しない場合は、無視する。

関連項目:
  - 直列化された形式
機能分類
  画面表示
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:columnMarker column="･･･" ･･･ > ･･･ </og:columnMarker > ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義： <og:columnMarker column 【TAG】マーク処理を行うカラム名を指定します columns 【TAG】マーク処理を行うカラム名をCSV形式(CSV形式)で複数指定します onMark 【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true) markList 【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1") instrVals 【TAG】スペースで区切られた複数の値について、マークします useFormatDeco 【TAG】[$XXXX],[#XXXX]機能を有効にします(初期値:false) strictCheck 【TAG】(通常は使いません)カラムＩＤの存在チェックを行うかどうか[true/false]を指定します(初期値: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:columnMarker> ●使用例 商品CD２(CDSYHN02)は赤字で表示する。 商品CD３(CDSYHN03)は-----と表示する。 <og:viewMarker command="{@command}"> <og:columnMarker column="CDSYHN02" onMark="true" > <font color='red'>[VCDSYHN02]</font> </og:columnMarker> <og:columnMarker column="CDSYHN03" onMark="[XXXX]" markList="[YYYY]" > <CENTER><-----</CENTER> </og:columnMarker> </og:viewMarker>
導入されたバージョン:
  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`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `ColumnMarkerTag()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doAfterBody()`
  Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
  `int`
  `doStartTag()`
  Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
  `protected void`
  `release2()`
  タグリブオブジェクトをリリースします。
  `void`
  `setColumn(String clm)`
  【TAG】マーク処理を行うカラム名を指定します。
  `void`
  `setColumns(String clms)`
  【TAG】マーク処理を行うカラム名をCSV形式(CSV形式)で複数指定します。
  `void`
  `setInstrVals(String val)`
  【TAG】スペースで区切られた複数の値について、マークします。
  `void`
  `setMarkList(String list)`
  【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。
  `void`
  `setOnMark(String flag)`
  【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。
  `void`
  `setStrictCheck(String check)`
  【TAG】(通常は使いません)カラムＩＤの存在チェックを行うかどうか[true/false]を指定します(初期値:true)。
  `void`
  `setUseFormatDeco(String val)`
  【TAG】[$XXXX],[#XXXX]機能を有効にするかどうか[true:有効/false:無効]指定します(初期値:false)。
  `String`
  `toString()`
  このオブジェクトの文字列表現を返します。

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doCatch, doEndTag, 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, 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`

- ## コンストラクタの詳細

  - ### ColumnMarkerTag

    public ColumnMarkerTag()
    デフォルトコンストラクター
    変更履歴:
      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`
    戻り値:
      後続処理の指示( EVAL_BODY_BUFFERED )
    変更履歴:
      6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応

  - ### doAfterBody

    public int doAfterBody()
    Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    定義:
      `doAfterBody` インタフェース内 `IterationTag`
    オーバーライド:
      `doAfterBody` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示(SKIP_BODY)
    変更履歴:
      3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。, 3.5.2.0 (2003/10/20) markList属性を追加, 3.8.8.1 (2007/01/06) instrVals属性を追加, 4.0.0.0 (2005/08/31) 同一カラムの複数登録を許可します。, 5.6.3.0 (2013/04/01) useFormatDeco属性を追加（[$XXXX],[#XXXX]機能を有効にするかどうか）, 6.7.6.0 (2017/03/17) strictCheck 追加。

  - ### 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.5.2.0 (2003/10/20) markList属性を追加, 3.8.8.1 (2007/01/06) instrVals属性を追加, 5.6.3.0 (2013/04/01) useFormatDeco属性を追加, 6.7.6.0 (2017/03/17) strictCheck 追加。

  - ### setColumn

    public void setColumn(String clm)
    【TAG】マーク処理を行うカラム名を指定します。
    パラメータ:
      `clm` - カラム名
    説明:
      このカラム名のTableModelに対して、マークを処理します。

  - ### setColumns

    public void setColumns(String clms)
    【TAG】マーク処理を行うカラム名をCSV形式(CSV形式)で複数指定します。
    パラメータ:
      `clms` - マーク処理を行うカラム名(CSV形式)
    変更履歴:
      3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得, 3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。
    説明:
      この複数のカラム名のTableModelに対して、 マークを処理します。 カラム名は、CSV形式で複数指定することができます。その場合は、 指定のカラムに対して、すべて同一の処理を行います。 分解方法は、通常のパラメータ取得後に、CSV分解します。

  - ### setOnMark

    public void setOnMark(String flag)
    【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。
    パラメータ:
      `flag` - マークの処理 [true,1:処理する/それ以外:処理しない]
    変更履歴:
      3.5.0.0 (2003/09/17) onMark に、[カラム名] の値をセットできるように修正。
    説明:
      マークを処理する場合は、"true"(または "1") 処理しない場合は, "true以外"(または "0")をセットします。 初期値は、 "true"(マークを処理する)です。 さらに、[カラム名] で、動的にカラムの値で、マークをする、しないを 選ぶ事が可能になります。値は、"true"(または "1") で、マークします。 追記 3.5.2.0 (2003/10/20)：markList属性に、処理対象文字列郡を指定できます。 これにより、マークを処理するかどうかの判断が、true,1 以外にも使用できるようになりました。

  - ### setMarkList

    public void setMarkList(String list)
    【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。
    パラメータ:
      `list` - 処理するマーク (indexOf による含む/含まない判定)
    変更履歴:
      3.5.2.0 (2003/10/20) 新規追加, 6.7.2.0 (2017/01/16) markListの先頭が、"?" の場合、正規表現で判定します。
    説明:
      markListで与えられた文字列に、onMark文字列(大文字/小文字の区別あり)が 含まれていれば、処理します。 例えば、"A","B","C" という文字列が、onMark で指定された 場合に処理するようにしたい場合は、"A|B|C" をセットします。 内部的には、markList.indexOf( onMark ) ＞＝ 0 で判定しています。 markList には、[カラム名]指定が可能です。 初期値は、 "true|TRUE|1"です。 6.7.2.0 (2017/01/16) 追加 markListの先頭に、"?" をつけると、正規表現によるマッチング判定を行います。 内部的には、onMark.matches( markList.substring(1) ) で判定します。

  - ### setInstrVals

    public void setInstrVals(String val)
    【TAG】スペースで区切られた複数の値について、マークします。
    パラメータ:
      `val` - スペースで区切られた複数の値
    関連項目:
      - `SqlAndTag.setInstrVals(String)`
    説明:
      最終的に作成された表示結果に対して、引数の文字列を含む箇所に、 引数文字列 文字列と置き換えます。 0 の部分は、引数文字列の現れた順番を指定します。 これにより、部分検索された箇所のみにマークすることが可能です。 部分文字列は、スペースで区切り、それぞれ独立した形でマーク されますので、検索エンジン等で検索したキャッシュ表示のような 効果を持たすことが可能になります。

  - ### setUseFormatDeco

    public void setUseFormatDeco(String val)
    【TAG】[$XXXX],[#XXXX]機能を有効にするかどうか[true:有効/false:無効]指定します(初期値:false)。
    パラメータ:
      `val` - 機能設定 [true:有効/false:無効]
    変更履歴:
      5.6.3.0 (2013/04/01) 新規追加
    説明:
      カラムのフォーマット処理で、[$XXXX],[#XXXX]などの修飾記号を付けると、 データでない値を出力できます。 [$XXXX] は、レンデラー処理された文字列を、[#XXXX]は、ラベルリソースを出力します。 この、columnMarker のデフォルトでは、[$XXXX]は、URLエンコード処理された結果が 返されます。他の処理(viewタグのボディ部等)とは異なる処理ですが、互換性のため、 [$XXXX]のレンデラー処理は、行われません。 この属性で、"true" を設定すれば、他のフォーマット処理と同じ処理が実行されます。 初期値は、互換性を考慮し、"false" になっています。

  - ### setStrictCheck

    public void setStrictCheck(String check)
    【TAG】(通常は使いません)カラムＩＤの存在チェックを行うかどうか[true/false]を指定します(初期値:true)。
    パラメータ:
      `check` - 存在チェック [true:行う/false:行わない]
    変更履歴:
      6.7.6.0 (2017/03/17) strictCheck 追加。
    説明:
      true の場合、カラムＩＤがDBTableModel に存在しない場合は、エラーになります。 false の場合、カラムＩＤがDBTableModel に存在しない場合は、無視します。 これは、検索条件によって、設定されるカラムが異なる場合でも、後続処理を 正常に動作させたい場合に、使用します。 初期値は true (チェックを行う) です。

  - ### toString

    public String toString()
    このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このクラスの文字列表現
    このﾒｿｯﾄﾞは、nullを返しません