public class ColumnSetTag extends CommonTagSupport
検索結果の DBTableModelオブジェクトのカラム値を操作(設定、変換、ADDなど)するタグです。 entry タグの子タグとして使用します。entryタグと、このcolumnSetタグの command が同じ場合のみ、実行されます。 処理方法は、action で指定します。
●形式:<og:entry command="…"> <og:setColumn command ="…" : entryタグのcommandと一致する場合に実行 columnId ="…" : 処理を行うカラムIDを指定(必須,複数指定可) action ="…" : 処理方法を指定 value ="…" : 設定する値を指定(action="TBLSET"のみ[カラム名]使用可能) conditionKey ="…" : 条件判定するカラムIDを指定(初期値は columnId ) conditionList ="…" : 条件判定する値のリストを、"|"で区切って登録(初期値は、無条件) /> </og:entry> ●body:なし ●Tag定義: <og:columnSet command 【TAG】コマンド (INSERT/COPY/MODIFY/DELETE/ENTRY/CHANGE/RESET/ALLRESET/ALLACTION/RESETDATA/INSERTONE/REALDELETE/REQENTRY)を設定します columnId ○【TAG】カラムIDをセットします(複数指定時は、CSV形式で設定する)(必須)。 value 【TAG】値をセットします action 【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET//WRTCTRL/DBMENU/REQSET/SEQSET)をセットします conditionKey 【TAG】条件判定するカラムIDを指定します(初期値は columnId ) conditionList 【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <og:entry command="{@command}" > <og:columnSet command="{@command}" columnId="ECNO" action="CLEAR" /> <og:columnSet command="{@command}" columnId="JYOKYO" action="SET" value="1" /> </og:entry> <og:entry command="MODIFY" rows="1" > <og:columnSet command="MODIFY" columnId="key" action="TBLSET" value ="[key][lang]"/> </og:entry> command属性 は、entryタグのcommand属性と同一の場合のみ、処理します。 [command属性] INSERT 新規 COPY 複写 MODIFY 変更 DELETE 削除 ENTRY エントリー CHANGE チェンジ RESET リセット ALLRESET 全件リセット ALLACTION オールアクション RESETDATA リセットデータ INSERTONE 新規(1行のみ) REALDELETE 物理削除 REQENTRY リクエスト変数設定 [action属性] DEFAULT カラムリソースで定義した初期値をセットします。 CLEAR 値をクリア(ゼロストリング "" )します。 ADD 現在の値を +1 します。 0 ⇒ 1 , A ⇒ B , 9 ⇒ 10。value属性と併用すれば、指定の値を加算できます。 SET value で設定した値を 新しい値として登録します。 NULLSET 元の値が NULL の場合だけ、value で設定した新しい値を登録します。 LOWER 小文字に変換します。 UPPER 大文字に変換します。 COPY value にコピー元のカラムIDをセットすれば、その値を代入します。 TBLSET DBTableModel の内容を取り込んで指定の columnId カラムに設定します。 [カラム名] で指定できます。 また、これは文字列を解析して、 value を作成しますので,文字列連結等に使用できます。 WRTCTRL writableControl を使用したカラムデータの先頭アンダーバーを削除します。 DBMENU DBMENUでパラメータ設定(コロン連結文字)を使用したカラムデータの先頭データのみにします。 REQSET valueで指定したカラムの値をキーに、リクエスト変数から値を取出し、セットします。 SEQSET valueの初期値を利用して、1レコードごとに、+1した値をセットします。 PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。 SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。 その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。
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
コンストラクタと説明 |
---|
ColumnSetTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAction(String action)
【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET/WRTCTRL/DBMENU/REQSET/SEQSET/PREFIX/SUFIX)をセットします。
|
void |
setColumnId(String clmid)
【TAG】カラムIDをセットします(複数指定時は、CSV形式で設定する)。
|
void |
setCommand(String command)
【TAG】コマンド (INSERT,COPY,MODIFY,DELETE,ENTRY,CHANGE,RESET,ALLACTION)を設定します。
|
void |
setConditionKey(String key)
【TAG】条件判定するカラムIDを指定します(初期値:null)。
|
void |
setConditionList(String list)
【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
|
void |
setStrictCheck(String strict)
【TAG】(通常は使いません)カラムIDが存在しないときに無視するかどうかを指定します(初期値:true)。
|
void |
setValue(String value)
【TAG】値をセットします。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, 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 ColumnSetTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 CommonTagSupport
3.6.0.6 (2004/10/22) columnNo に伴なう削除 |
5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加 |
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.6.0.6 (2004/10/22) columnNo に伴なう変更 |
public void setCommand(String command)
command
- コマンド上位の EntryTag のコマンドと一致した場合のみ、処理されます。 ここでは、コマンド文字列の整合性チェックは行っていません。
public void setValue(String value)
value
- 値設定する値をセットします。 曖昧検索可能フィールド(aimai)の影響で、パラメータに、"%" がくるので、前後の "%" を削除します。 今は、"%" を前後にセットする方法は、ありません(無条件削除のみ)。
6.7.4.1 (2017/02/17) 曖昧検索可能フィールドで、"%" がそのままセットされてしまうため、削除します。 |
public void setAction(String action)
action
- アクション文字列ここでは、アクション文字列の整合性チェックを行っておりません。 DEFAULT カラムリソースで定義した初期値をセットします。 CLEAR 値をクリア(ゼロストリング "" )します。 ADD 現在の値を +1 します。 0 ⇒ 1 , A ⇒ B , 9 ⇒ 10。value属性と併用すれば、指定の値を加算できます。 SET value で設定した値を 新しい値として登録します。 NULLSET 元の値が NULL の場合だけ、value で設定した新しい値を登録します。 LOWER 小文字に変換します。 UPPER 大文字に変換します。 COPY value にコピー元のカラムIDをセットすれば、その値を代入します。 TBLSET DBTableModel の内容を取り込んで指定の columnId カラムに設定します。[カラム名] で指定できます。 WRTCTRL writableControl を使用したカラムデータの先頭アンダーバーを削除します。 DBMENU DBMENUでパラメータ設定(コロン連結文字)を使用したカラムデータの先頭データのみにします。 REQSET valueで指定したカラムの値をキーに、リクエスト変数から値を取出し、セットします。 SEQSET valueの初期値を利用して、1レコードごとに、+1した値をセットします。 PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。 SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。 その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。
public void setColumnId(String clmid)
clmid
- カラムID処理を適用するカラムIDを指定します。 全く同じ内容を設定する場合には、カラム名をCSV形式(CSV形式)で 複数指定することが可能です。
3.6.0.6 (2004/10/22) columnNo に伴なう変更 |
public void setConditionKey(String key)
key
- カラムIDsetConditionList( String )
指定のカラムIDの値と、conditionList の値を比較して、 存在する場合は、action処理を実行します。 例えば、初期値設定(action="DEFAULT")で、値が "0" の場合だけ適用するような ケースに使用できます。 指定しない場合は、columnId と同じキーになります。 注意:columnId は、CSV形式で複数同時に指定できます。その場合は、 conditionKey には、複数設定する機能はありませんので、全カラムに 同一カラムを使用する場合は、conditionKey に値を設定できます。 値を設定しない場合は、自動的に、columnId と同一になります。
3.6.0.6 (2004/10/22) 新規追加 |
public void setConditionList(String list)
list
- 条件判定する値("|"区切)setConditionKey( String )
conditionKey とペアで指定します。ここには、カラムの設定値のリストを 指定することで、複数条件(OR結合)での比較を行い、リストにカラム値が 存在する場合のみ、action処理を実行します。 設定しない場合は、無条件に実行します。
3.6.0.6 (2004/10/22) 新規追加 |
public void setStrictCheck(String strict)
strict
- 厳格処理 [true:厳格に処理する/false:エラーを無視する]カラムセットする場合は、DBTableModel に存在するカラムに対してのみ、 処理を適用するべきで、通常存在しないカラムを使用した場合は、Exception が throw されます。(strictCheck="true" 初期値の動作です。) ところが、動的テーブル検索などでカラムが不特定な場合、DBTableModel に 存在しない場合に、無視したい場合があります。その場合は、strictCheck="false" に設定すると、カラムが存在しない場合は、エラーにせず、無視します。 初期値は、true:厳格に処理する です。
4.0.0.0 (2006/09/31) 新規追加 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.