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属性]は、カラム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>
BR, BUFFER_MIDDLE, CR
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
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】(通常は使いません)カラムIDの存在チェックを行うかどうか[true/false]を指定します(初期値:true)。
|
void |
setUseFormatDeco(String val)
【TAG】[$XXXX],[#XXXX]機能を有効にするかどうか[true:有効/false:無効]指定します(初期値:false)。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doEndTag, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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
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 ColumnMarkerTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 CommonTagSupport
6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応 |
public int doAfterBody()
doAfterBody
インタフェース内 IterationTag
doAfterBody
クラス内 CommonTagSupport
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 追加。 |
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 追加。 |
public void setColumn(String clm)
clm
- カラム名このカラム名のTableModelに対して、マークを処理します。
public void setColumns(String clms)
clms
- マーク処理を行うカラム名(CSV形式)この複数のカラム名のTableModelに対して、 マークを処理します。 カラム名は、CSV形式で複数指定することができます。その場合は、 指定のカラムに対して、すべて同一の処理を行います。 分解方法は、通常のパラメータ取得後に、CSV分解します。
3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得 |
3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。 |
public void setOnMark(String flag)
flag
- マークの処理 [true,1:処理する/それ以外:処理しない]マークを処理する場合は、"true"(または "1") 処理しない場合は, "true以外"(または "0")をセットします。 初期値は、 "true"(マークを処理する)です。 さらに、[カラム名] で、動的にカラムの値で、マークをする、しないを 選ぶ事が可能になります。値は、"true"(または "1") で、マークします。 追記 3.5.2.0 (2003/10/20):markList属性に、処理対象文字列郡を指定できます。 これにより、マークを処理するかどうかの判断が、true,1 以外にも使用できるようになりました。
3.5.0.0 (2003/09/17) onMark に、[カラム名] の値をセットできるように修正。 |
public void setMarkList(String list)
list
- 処理するマーク (indexOf による含む/含まない判定)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) ) で判定します。
3.5.2.0 (2003/10/20) 新規追加 |
6.7.2.0 (2017/01/16) markListの先頭が、"?" の場合、正規表現で判定します。 |
public void setInstrVals(String val)
val
- スペースで区切られた複数の値SqlAndTag.setInstrVals( String )
最終的に作成された表示結果に対して、引数の文字列を含む箇所に、
引数文字列 文字列と置き換えます。
0 の部分は、引数文字列の現れた順番を指定します。
これにより、部分検索された箇所のみにマークすることが可能です。
部分文字列は、スペースで区切り、それぞれ独立した形でマーク
されますので、検索エンジン等で検索したキャッシュ表示のような
効果を持たすことが可能になります。
public void setUseFormatDeco(String val)
val
- 機能設定 [true:有効/false:無効]カラムのフォーマット処理で、[$XXXX],[#XXXX]などの修飾記号を付けると、 データでない値を出力できます。 [$XXXX] は、レンデラー処理された文字列を、[#XXXX]は、ラベルリソースを出力します。 この、columnMarker のデフォルトでは、[$XXXX]は、URLエンコード処理された結果が 返されます。他の処理(viewタグのボディ部等)とは異なる処理ですが、互換性のため、 [$XXXX]のレンデラー処理は、行われません。 この属性で、"true" を設定すれば、他のフォーマット処理と同じ処理が実行されます。 初期値は、互換性を考慮し、"false" になっています。
5.6.3.0 (2013/04/01) 新規追加 |
public void setStrictCheck(String check)
check
- 存在チェック [true:行う/false:行わない]true の場合、カラムIDがDBTableModel に存在しない場合は、エラーになります。 false の場合、カラムIDがDBTableModel に存在しない場合は、無視します。 これは、検索条件によって、設定されるカラムが異なる場合でも、後続処理を 正常に動作させたい場合に、使用します。 初期値は true (チェックを行う) です。
6.7.6.0 (2017/03/17) strictCheck 追加。 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.