クラス 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
検索結果のカラム表示に対して様々な属性を付加(マーキング)するタグです(参照: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属性]は、カラムIDの存在チェックを行うかどうかを指定します(初期値:true)
true カラムIDがDBTableModel に存在しない場合は、エラーになる。
false カラムIDが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】(通常は使いません)カラムIDの存在チェックを行うかどうか[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> ●使用例 商品CD2(CDSYHN02)は赤字で表示する。 商品CD3(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
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明int
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
【TAG】マーク処理を行うカラム名を指定します。void
setColumns
(String clms) 【TAG】マーク処理を行うカラム名をCSV形式(CSV形式)で複数指定します。void
setInstrVals
(String val) 【TAG】スペースで区切られた複数の値について、マークします。void
setMarkList
(String list) 【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。void
【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。void
setStrictCheck
(String check) 【TAG】(通常は使いません)カラムIDの存在チェックを行うかどうか[true/false]を指定します(初期値:true)。void
setUseFormatDeco
(String val) 【TAG】[$XXXX],[#XXXX]機能を有効にするかどうか[true:有効/false:無効]指定します(初期値:false)。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, 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
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示( EVAL_BODY_BUFFERED )
- 変更履歴:
- 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応
-
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
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
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
【TAG】マーク処理を行うカラム名を指定します。- パラメータ:
clm
- カラム名- 説明:
- このカラム名のTableModelに対して、マークを処理します。
-
setColumns
【TAG】マーク処理を行うカラム名をCSV形式(CSV形式)で複数指定します。- パラメータ:
clms
- マーク処理を行うカラム名(CSV形式)- 変更履歴:
- 3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得, 3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。
- 説明:
- この複数のカラム名のTableModelに対して、 マークを処理します。 カラム名は、CSV形式で複数指定することができます。その場合は、 指定のカラムに対して、すべて同一の処理を行います。 分解方法は、通常のパラメータ取得後に、CSV分解します。
-
setOnMark
【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
【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
【TAG】スペースで区切られた複数の値について、マークします。- パラメータ:
val
- スペースで区切られた複数の値- 関連項目:
- 説明:
- 最終的に作成された表示結果に対して、引数の文字列を含む箇所に、 引数文字列 文字列と置き換えます。 0 の部分は、引数文字列の現れた順番を指定します。 これにより、部分検索された箇所のみにマークすることが可能です。 部分文字列は、スペースで区切り、それぞれ独立した形でマーク されますので、検索エンジン等で検索したキャッシュ表示のような 効果を持たすことが可能になります。
-
setUseFormatDeco
【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
【TAG】(通常は使いません)カラムIDの存在チェックを行うかどうか[true/false]を指定します(初期値:true)。- パラメータ:
check
- 存在チェック [true:行う/false:行わない]- 変更履歴:
- 6.7.6.0 (2017/03/17) strictCheck 追加。
- 説明:
- true の場合、カラムIDがDBTableModel に存在しない場合は、エラーになります。 false の場合、カラムIDがDBTableModel に存在しない場合は、無視します。 これは、検索条件によって、設定されるカラムが異なる場合でも、後続処理を 正常に動作させたい場合に、使用します。 初期値は true (チェックを行う) です。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-